ASP.NETMVC View页面 序列化 c# Model 为 Json字符串
ASP.NET MVC , Controller 傳遞給View 的 Model, ?將此Model在JS中 序列化為 JSon字符串, ?再使用JSON.parse() 解析為JS object, 遇到問(wèn)題:
?1、Unexpected token ]
?2、Unexpected token &
@model MOD.GiftModel[] @using System.Web.Script.Serialization @{Layout = null; }<!DOCTYPE html><html> <head><meta name="viewport" content="width=device-width" /><title>Index</title><script src="~/Scripts/jquery-3.1.1.js"></script><script src="~/Scripts/knockout-3.4.2.debug.js"></script><script>@Model.ToString();</script> </head> <body>@{String str = Newtonsoft.Json.JsonConvert.SerializeObject(Model); /// ASP.NET 兩種序列化方法 String str2 = new JavaScriptSerializer().Serialize(Model);<text>@str</text><text>@str2 </text>}<script>var str = "@str"; /// 此時(shí)的 str中 包含有 "e; 直接使用JSON.Parse()解析會(huì)報(bào)錯(cuò)var str2 = "@str2";var dataUser = str;var reg = new RegExp(""", "g"); //創(chuàng)建正則RegExp對(duì)象 var data = JSON.parse(dataUser.replace(reg, '"')) /// 把 字符串中的 "e; 替換成 ” 才行alert(data);alert(typeof(data));</script> </body> </html>這種方法 使用 太過(guò)麻煩, ?ASP.NET MVC中 JSON() 可以直接傳View 解析好的字符串;
而把 Controller 傳給Veiw的 對(duì)象 轉(zhuǎn)化為 JS對(duì)象, 我想實(shí)驗(yàn)下 ,因?yàn)橄胧褂??knockout 直接把 Controller傳過(guò)來(lái)的數(shù)據(jù)綁定到ViewModel中, 這樣不用再使用AJAX請(qǐng)求數(shù)據(jù)了,
不知道 哪位大神 有沒(méi)有比較方便的方法? ? ?使用AJAX去請(qǐng)返回json字符串 這我知道, 我想知道的是 ?在View頁(yè)面中 把?Controller 傳給Veiw的 對(duì)象 轉(zhuǎn)化為 JS對(duì)象 比較簡(jiǎn)單的方法;
?
轉(zhuǎn)載于:https://www.cnblogs.com/generalLi/p/6567600.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的ASP.NETMVC View页面 序列化 c# Model 为 Json字符串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习与神经网络
- 下一篇: C# 7中函数多值返回_转自InfoQ