您好我必须将选择网格行上的对象值传递给另一个视图。 我的代码cshtml代码是
var gview = $("#grdSearch").data("kendoGrid");
var selectedItem = gview.dataItem(gview.select());
if (selectedItem.address != undefined) {
alert(selectedItem.address);
window.location = '../PageSearch/Select?value:' + selectedItem;
}
else
alert("NO Row Is SELECTED");
我的控制器代码是
[HttpGet]
public JsonResult Select(Search value)
{
return Json(value, JsonRequestBehavior.AllowGet);
}
问题是jQuery代码调用控制器操作selectedItem
为空。
如何访问selectedItem
内的数据?
答案 0 :(得分:0)
看起来你需要:window.location.href
如下所示:https://stackoverflow.com/a/1207465/599180
我认为selectedItem不会序列化为字符串,因此您可能需要JSON.stringify(selectedItem)
,如下所示:https://stackoverflow.com/a/21595823/599180
您必须确保Select()的参数类型与selectedItem序列化到您关注的字段匹配。
答案 1 :(得分:0)
查询字符串中传递的数据需要采用?key1=val1&key2=val2&key3=val3
因此,要在查询字符串中传递对象属性值,您需要将javascript对象转换为此查询字符串格式,例如:
'../PageSearch/Select?address=' + selectedItem.address + '&somethingElse=' + selectedItem.somethingElse`
将数据提供给服务器的一种更简单的方法是使用jQuery POST它:
$.post( "../PageSearch/Select", selectedItem );
有关jQuery帖子的更多信息,请访问https://api.jquery.com/jQuery.post/