«IJsonHelper» не содержит определения «Encode» - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу преобразовать список строк в массив javascript на мой взгляд, и я нашел следующее предложение в нескольких местах в Интернете:

@model IEnumerable<DSSTools.Models.Box.BoxWhiteListUser>

@{
    var boxManager = new DSSTools.Managers.BoxManager();
    var allusers = boxManager.GetAllUsersAsync().Result.Entries.ToList().Select(u => u.Login);
}

@section Scripts {
    <script>
        var sourcearray = null;

        $(document).ready(function () {
            var arr = JSON.parse('@Html.Raw(Json.Encode(@allusers))');
        });
    </script>
}

Тем не менее, я просто раздражаюсь

«IJsonHelper» не содержит определения для «Encode», и метод расширения «Encode», принимающий первый аргумент типа «IJsonHelper», не найден (отсутствует директива using или ссылка на сборку?)

Как это возможно?

Я также пытался просто позвонить

var arr = JSON.parse('@Html.Raw(allusers)');

Но тогда я получаю эту ошибку в консоли

VM189:1 Uncaught SyntaxError: Unexpected token S in JSON at position 0
    at JSON.parse (<anonymous>)
    at HTMLDocument.<anonymous> (whitelist:107)
    at fire (jquery.js:3182)
    at Object.fireWith [as resolveWith] (jquery.js:3312)
    at Function.ready (jquery.js:3531)
    at HTMLDocument.completed (jquery.js:3547)

1 Ответ

0 голосов
/ 27 апреля 2018

Мне удалось сделать то, что мне было нужно с

sourcearray = JSON.parse('@Html.Raw(Json.Serialize(allusers))');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...