我想在我看来将字符串列表转换为 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' does not contain a definition for 'Encode' and no extension method 'Encode' accepting a first argument of type 'IJsonHelper' could be found (are you missing a using directive or an assembly reference?)
这怎么可能?
我也试过直接打电话
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)
最佳答案
我设法用
做了我需要做的事sourcearray = JSON.parse('@Html.Raw(Json.Serialize(allusers))');
关于javascript - 'IJsonHelper' 不包含 'Encode' 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50056518/