我想通過向它傳遞一個陣列來填充一個 jquery 資料表,控制器使用ViewBag如下方式傳遞一個用戶陣列:
userInfo[] users = _context.userInfo.ToArray();
ViewBag.UsersArray = users;
在視圖中,我用作ViewBag.UsersArrayjquery資料表的資料源:
<script>
$(document).ready(function () {
$('#users').DataTable({
data: @ViewBag.UsersArray,
columns: [
{ data: 'id' },
{ data: 'username' },
{ data: 'balance' },
{ data: 'contract_id' }
]
});
});
</script>
我總是得到意外的令牌']'

uj5u.com熱心網友回復:
要在 Razor 頁面的腳本標記中使用 C# 物件,您必須首先將它們轉換為 JSON。Razor 不會自動執行此操作。
通過這種方式,您可以輕松地將陣列序列化為 JSON:
<script>
$(document).ready(function () {
$('#users').DataTable({
data: @Json.Serialize(@ViewBag.UsersArray),
columns: [
{ data: 'id' },
{ data: 'username' },
{ data: 'balance' },
{ data: 'contract_id' }
]
});
});
</script>
uj5u.com熱心網友回復:
問題似乎只是陣列被視為對物件的參考而不是被列舉。我會首先嘗試將 @ViewBag.UsersArray 用引號括起來,如果這沒有區別,我將“手動”列舉 JS 代碼中的陣列并將每個陣列元素添加到表的資料屬性中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/349535.html
標籤:javascript C# 查询 asp.net核心
