什么是显示jquery json调用结果的部分视图的最佳方法

时间:2010-02-08 14:16:10

标签: jquery asp.net-mvc asp.net-mvc-partialview

我有一个asp.net mvc视图,其中页面顶部是一个表。我想要的是单击表格中的一行,该行将转到服务器并获取该表格的详细信息。这工作正常,我在Json返回细节。

问题是我知道想要在下面显示详细信息面板。现在我在部分视图中完成了详细信息窗格。

如何使用jquery“挂钩”,所以当我点击该行时,详细信息窗格会显示填写的正确模型数据。

  1. 我是否放弃了json,只是在我的控制器操作中生成html并将html返回到视图以显示详细信息窗格?
  2. 此处有其他最佳做法或建议吗?

2 个答案:

答案 0 :(得分:2)

我假设您使用MVC Ajax助手调用控制器来获取JSon结果?

另一种方法是使用JQuery来调用你的JSon控制器。因此,在链接或按钮单击时,您可以调用一些javascript,它会找到您需要从隐藏标记传递给控制器​​的ID。当您收到JSon结果时,您只需设置html标记的属性并显示/隐藏您的详细信息窗格。像这样:

function ShowPartial() {
  var ID = $("#hiddenValue").attr("value");
    $.getJSON("YourUrl" + ID, function(result) {
        $.each(result, function(item) {
          // Set you html properties using this["JSonPropertyName"]
        });
    });
}

另一种方法是简单地使用MVC Ajax助手并使用部分详细信息视图更新div标签,而不是使用JSon。

答案 1 :(得分:0)

我会选择像jtemplates(jquery插件)这样的客户端模板引擎来处理这个客户端。您只需从控制器操作返回一个partialview,并将该html呈现在页面上您想要的位置。但我认为从ajax请求返回html是不好的做法,我宁愿返回一个json对象。