我使用System.Web.Script.Serialization库来编码来自C#的元素。 如何从JS函数解码它。
例如我有:
JavaScriptSerializer js = new JavaScriptSerializer();
string ModelString= js.Serialize(Model);
并希望JS能够:
var element=decode('@ModelString');
答案 0 :(得分:2)
你需要使用jQuery。
var _Model=$parseJSON(ModelString);
然后你可以使用:
_Model.Name;
_Model.Address; //etc...
我希望这就是你想要的......
答案 1 :(得分:0)
您可以在视图中执行以下操作:
var element = @Html.Raw(Json.Encode(Model))
其中“模型”是对象。在这种情况下,它不必被序列化,Json.Encode()负责处理。
或者,如果要在控制器中序列化对象,可以在视图中执行以下操作:
var element = @Html.Raw(ModelString)
答案 2 :(得分:0)
您可以创建一个返回序列化模型的方法:
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);
}
}
}
并在View中获取Modelo实例:
@model SO11444045.Models.HomeIndex
@{
ViewBag.Title = "Index";
}
<script type="text/javascript">
var json = @Html.Raw(Model.Me());
alert(json.Name);
</script>