Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Jquery 在控制器中读取JSON对象_Jquery_Asp.net Mvc_Json - Fatal编程技术网

Jquery 在控制器中读取JSON对象

Jquery 在控制器中读取JSON对象,jquery,asp.net-mvc,json,Jquery,Asp.net Mvc,Json,我有以下JQuery代码 var selectedval = $("#PaymentApplication_System").val(); var text = $("#btnSave").val(); var payVal = $("#PaymentApplication_Amount").val(); var dbobj = [{ param: text, value: payVal}]; var jlist = $.toJSON(dbobj); 这给了我以下json对象 [{"param

我有以下JQuery代码

var selectedval = $("#PaymentApplication_System").val();
var text = $("#btnSave").val();
var payVal = $("#PaymentApplication_Amount").val();
var dbobj = [{ param: text, value: payVal}];
var jlist = $.toJSON(dbobj);
这给了我以下json对象

[{"param":"Update Payment","value":"50.00"}]

我使用的是MVC2。如何从控制器中的对象读取值???

MVC 2不会将JSON对象转换为模型,而MVC 3会


您必须使用。

MVC 2不会将JSON对象转换为模型,而MVC 3会


您必须使用。MVC2不会自动将JSON字符串转换为C对象。您可以使用位于System.Web.Script.Serialization中的。例如:

public ActionResult Index(string customerJson)
{
    var serializer = new JavaScriptSerializer();
    var customer = serializer.Deserialize<Customer>(customerJson);

    return View(customer);
}
公共操作结果索引(字符串customerJson) { var serializer=新的JavaScriptSerializer(); var customer=serializer.Deserialize(customerJson); 返回视图(客户); } 这可以作为一个扩展metod(或者如果您有任何扩展metod,可以将其放在一个基本控制器中):

公共静态类控制器扩展
{
public T JsonDeserialize(此控制器实例,字符串json)
{
var serializer=新的JavaScriptSerializer();
返回序列化程序。反序列化(json);
}
}
然后,您可以将其用作:

public ActionResult Index(string customerJson)
{
    var customer = this.JsonDeserialize<Customer>(customerJson);

    return View(customer);
}
公共操作结果索引(字符串customerJson) { var customer=this.JsonDeserialize(customerJson); 返回视图(客户); }
MVC2不会自动将JSON字符串转换为C对象。您可以使用位于System.Web.Script.Serialization中的。例如:

public ActionResult Index(string customerJson)
{
    var serializer = new JavaScriptSerializer();
    var customer = serializer.Deserialize<Customer>(customerJson);

    return View(customer);
}
公共操作结果索引(字符串customerJson) { var serializer=新的JavaScriptSerializer(); var customer=serializer.Deserialize(customerJson); 返回视图(客户); } 这可以作为一个扩展metod(或者如果您有任何扩展metod,可以将其放在一个基本控制器中):

公共静态类控制器扩展
{
public T JsonDeserialize(此控制器实例,字符串json)
{
var serializer=新的JavaScriptSerializer();
返回序列化程序。反序列化(json);
}
}
然后,您可以将其用作:

public ActionResult Index(string customerJson)
{
    var customer = this.JsonDeserialize<Customer>(customerJson);

    return View(customer);
}
公共操作结果索引(字符串customerJson) { var customer=this.JsonDeserialize(customerJson); 返回视图(客户); }
我认为这篇文章可以帮助有类似问题的人:


我认为这篇文章可以帮助有类似问题的人:


FYI MVC3确实包含一个自动处理此问题的JsonValueProviderFactory。@murki是的,我知道。这个问题是针对MVC2的,它没有处理这个问题。仅供参考,MVC3确实包含一个自动处理这个问题的JsonValueProviderFactory。@murki是的,我知道。这个问题是针对MVC2的,MVC2没有处理这个问题。