MVC:如何使用JavaScriptSerializer将代码解码为用c#编码的JS
我使用System.Web.Script.Serialization库对C#中的元素进行编码。 如何从JS函数中解码它 例如,我有:MVC:如何使用JavaScriptSerializer将代码解码为用c#编码的JS,c#,javascript,asp.net-mvc,C#,Javascript,Asp.net Mvc,我使用System.Web.Script.Serialization库对C#中的元素进行编码。 如何从JS函数中解码它 例如,我有: JavaScriptSerializer js = new JavaScriptSerializer(); string ModelString= js.Serialize(Model); 并希望在JS中执行以下操作: var element=decode('@ModelString'); 在您的视图中,您可以这样做: var element = @Html
JavaScriptSerializer js = new JavaScriptSerializer();
string ModelString= js.Serialize(Model);
并希望在JS中执行以下操作:
var element=decode('@ModelString');
在您的视图中,您可以这样做:
var element = @Html.Raw(Json.Encode(Model))
其中“模型”是一个对象。在这种情况下,它不必序列化,Json.Encode()会处理这个问题
或者,如果要在控制器中序列化对象,可以在视图中执行以下操作:
var element = @Html.Raw(ModelString)
您可以为返回序列化模型创建方法:
using System.Web.Script.Serialization;
namespace SO11444045.Models
{
public class HomeIndex
{
public HomeIndex()
{
this.Name = "Alfred";
this.Age = 33;
}
public string Name { get; set; }
public int Age { get; set; }
public string Me()
{
var serializer = new JavaScriptSerializer();
return serializer.Serialize((object)this);
}
}
}
并获取视图中的Modelo实例:
@model SO11444045.Models.HomeIndex
@{
ViewBag.Title = "Index";
}
<script type="text/javascript">
var json = @Html.Raw(Model.Me());
alert(json.Name);
</script>
@model SO11444045.Models.HomeIndex
@{
ViewBag.Title=“Index”;
}
var json=@Html.Raw(Model.Me());
警报(json.Name);
您需要使用jQuery
var _Model=$parseJSON(ModelString);
然后您可以使用:
_Model.Name;
_Model.Address; //etc...
我希望这就是你想要的