[英]Posting javascript array of objects to MVC4 controller
这是我的控制器动作:
public ActionResult BrowsePartial(IList<SearchParam> searchParams = null)
{
//...
}
这是对象模型:
public class SearchParam
{
public string Order { get; set; }
public string Type { get; set; }
public string Value { get; set; }
}
这是我如何将数据发送到控制器:
$.ajax(
{
type: "GET",
url: url,
data: { searchParams: [{ Order: "fghfdhgfdgfd", Type: "sasdsa", Value: "saddsadsads" }, { Order: "fghfdhgfdgfd", Type: "sasdsa", Value: "saddsadsads" }, { Order: "fghfdhgfdgfd", Type: "sasdsa", Value: "saddsadsads" }] },
mode: "replace",
cache: false,
});
现在,当我调试动作时,我有一个IList<SearchParam>
,它已正确初始化为3个元素。 但是,每个SearchParam
对象( Order
, Type
和Value
)的字段都初始化为null。 这可能是什么问题?
我认为,在单个请求中发送数组参数的唯一方法是对其进行字符串化,并在控制器中进行反序列化。
$.ajax(
{
type: "GET",
url: url,
data: { searchParams: JSON.stringify([{ Order: "fghfdhgfdgfd", Type: "sasdsa", Value: "saddsadsads" }, { Order: "fghfdhgfdgfd", Type: "sasdsa", Value: "saddsadsads" }, { Order: "fghfdhgfdgfd", Type: "sasdsa", Value: "saddsadsads" }])},
mode: "replace",
cache: false,
});
public ActionResult BrowsePartial(string searchParams = null)
{
SearchParam params = JsonConvert.DeserializeObject<SearchParam>(searchParams);
}
但我可能错了;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.