2014-03-14 88 views
0

您好,我必须将选择网格行上的对象值传递到另一个视图。 我的代码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

以及gview.dataItem(gview.select());应该有什么价值? – Rex

+0

嗨雷克斯网格行将有类型选择的值。 if条件被执行,这意味着它已经从网格中获取数据,但无法将其传递给控制器​​。所以我做错了window.location的语法? – Divya

+0

'../PageSearch/Select?value:'+ selectedItem;不应该是'../PageSearch/Select?value='+ selectedItem; –

回答

0

数据的查询字符串传递需要在表格?key1=val1&key2=val2&key3=val3

所以要通过在您需要将您的JavaScript对象转换为此查询字符串格式如查询字符串对象属性值:

'../PageSearch/Select?address=' + selectedItem.address + '&somethingElse=' + selectedItem.somethingElse` 

的更简单的方法获取数据到服务器将使用jQuery将它张贴:

$.post("../PageSearch/Select", selectedItem); 

有很多关于jQuery的职位的更多信息t https://api.jquery.com/jQuery.post/

+0

我已经尝试了所有这些不是不工作 – Divya

相关问题