【问题标题】:MVC pass data from one grid to another gridMVC 将数据从一个网格传递到另一个网格
【发布时间】:2012-05-11 20:03:40
【问题描述】:

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

解决方案上传到这个 URL --> http://www.4shared.com/file/HPRynWG8/MvcApplication1.html

打气


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

打气

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案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 结果并使用自定义 DOM 操作(使用 jQuery 的 DOM 操作方法)或查看 the templating system

    更多参考资料:

    jQuery, dblclick

    要检索数据,请使用 jQuery getjQuery ajax

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      加油,

      您需要通过使用您的 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 - 希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 2014-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多