我正在做一個專案,我必須通過 ViewBag 傳遞大量資料(500 000 條或更多記錄)。從我的控制器,我正在發送如下所示的資料。
public ActionResult Index()
{
var list = new List<DropdownList>();
for (int i = 0; i < 500000; i )
{
list.Add(new DropdownList() { id = i, text = "Test Data-" i });
}
ViewBag.JsonData = JsonConvert.SerializeObject(list);
return View();
}
在我看來,我正在使用以下代碼來決議 JavaScript 中的資料。嘗試此代碼獲取 maxJsonLength 時超出了錯誤。
<script>
$(document).ready(function(){
@Html.Raw(Json.Encode(@ViewBag.JsonData));
});
</script>
我也試過這個&它正在處理 500k 記錄,而資料不包含特殊字符。如果資料包含一些特殊字符,則它不起作用。
<script>
$(document).ready(function(){
JSON.parse('@ViewBag.JsonData');
});
</script>
注意:我在.cs(c# 代碼)檔案中沒有收到錯誤,因為
在這種情況下,您可以在幾秒鐘內處理200 萬條記錄。希望你得到你的答案!
uj5u.com熱心網友回復:
您在“C# 代碼”中收到錯誤訊息。這不是 JavaScript 問題。
如果編輯web.config沒有幫助,您可以嘗試使用 a 的實體并手動JavascriptSerializer設定屬性:MaxJsonLength
@{
var serializer = new JavaScriptSerializer() { MaxJsonLength = Int32.MaxValue };
var jsonData = serializer.Serialize(@ViewBag.JsonData);
}
在此處和此處查看更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425447.html
標籤:javascript C# asp.net-mvc json序列化器
