MVC将数据从一个网格传递到另一个网格

时间:2010-12-16 11:50:18

标签: c# asp.net-mvc

更新: 我上传了一个包含2个网格的简单解决方案。当我双击第一个网格时,我可以获得行ID但是谁将其传递到“第二个网格”中......我不明白它...请帮助

将解决方案上传到此网址 - > http://www.4shared.com/file/HPRynWG8/MvcApplication1.html

打气


我的2个网格有问题(MVC 2.0) 当我双击第一个网格中的一行时,第二个网格应重新加载并显示与第一个网格中单击的行匹配的详细数据。 但是如何将行ID从第一个网格传递到第二个网格(到控制器功能)??

打气

3 个答案:

答案 0 :(得分:1)

让第一个网格中的每一行都包含一个包含实体/行id的隐藏输入字段(或者为每一行提供一个id或类,如'ROWID')。然后使用jQuery做类似

的事情
$(document).ready(function() {
  $('#firstgrid tr').dblclick(function(){
    var id = $(this).find('input').val();
    var urlToRequestDataFrom = /* built using the id above */
    $.ajax(/* request data and update second grid */);
  });
});

要更新第二个网格,您只需在服务器上渲染所有网格,然后使用jQuery's .html()在页面中插入渲染网格。或者,从服务器返回JSON结果,并使用jQuery的DOM操作方法使用自定义DOM操作渲染它,或者查看the templating system

更多参考资料:

jQuerydblclick

要使用jQuery getjQuery ajax

检索数据

答案 1 :(得分:0)

PEP,

您需要通过使用rowid的ajax调用来完成此操作。如果你的表结构设置为每行id,那么你很高兴。功能将沿着以下几行(假设jquery):

$(document).ready(function() {
    $('#grid1 tr').dblclick(function(){
        var id = $(this).attr('id');
        var url = '<%=Url.Action("Details")%>/' + id;
        // now call your controller action with this id via $ajax()
        $.ajax(/* your core code here */);
    });
});

然后,您的被调用操作应使用数据填充部分视图。这反过来将针对页面上目标表的div id。

我假设熟悉jquery / ajax - 希望这有帮助

答案 2 :(得分:0)