Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的序列化模型_Javascript_Asp.net Mvc_Serialization - Fatal编程技术网

Javascript中的序列化模型

Javascript中的序列化模型,javascript,asp.net-mvc,serialization,Javascript,Asp.net Mvc,Serialization,使用javascript中的@Html.Raw序列化模型时遇到问题。我基本上想序列化模型,这样我就可以通过客户端上的回调方法传递它,然后在服务器上反序列化它 [Serializable] public class AdvanceSearch { public string Name{ get; set; } public DateTime? Date { get; set; } } 在javascript中 var now = @Html.Raw(Json.Encod

使用javascript中的
@Html.Raw
序列化模型时遇到问题。我基本上想序列化模型,这样我就可以通过客户端上的回调方法传递它,然后在服务器上反序列化它

[Serializable]
public class AdvanceSearch
{
    public string Name{ get; set; }
    public DateTime? Date { get; set; }

}
在javascript中

    var now = @Html.Raw(Json.Encode(Model));
    alert(now.Name);
但是警报总是以
null
的形式返回,这意味着它没有序列化。我遗漏了什么吗


干杯

通过使用Newtonsoft json序列化程序/反序列化程序,这可以实现。要序列化模型,请按如下所示使用

名称空间:
Newtonsoft.Json

var now = JsonConvert.SerializeObject( Model );
要反序列化

ViewModel vm = JsonConvert.DeserializeObject<ViewModel>( obj );
ViewModel vm=JsonConvert.DeserializeObject(obj);

这里的视图模型是您的视图模型。希望有帮助

现在是一个字符串(因为您在引号(
“”
)中加了引号)。它怎么可能有一个
Name
属性呢?好吧,但是如果我删除了引号,javascript就不会使用@HTML.Raw等razor语法了。。。那么,如果你明白我的意思,我该如何转换它呢?在javascript中,你需要
JSON.parse
将字符串转换为具有
Name
属性的javascript对象<代码>警报(JSON.parse(now.Name)
字符串属性的默认值将为
null
。您确定您的模型已正确填充吗?