Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
MVC:如何使用JavaScriptSerializer将代码解码为用c#编码的JS_C#_Javascript_Asp.net Mvc - Fatal编程技术网

MVC:如何使用JavaScriptSerializer将代码解码为用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

我使用System.Web.Script.Serialization库对C#中的元素进行编码。 如何从JS函数中解码它

例如,我有:

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...
我希望这就是你想要的