0

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

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

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

  1. 我是否放弃了 json 并简单地在我的控制器操作中生成 html 并将 html 返回到视图以显示详细信息窗格?
  2. 其他最佳实践或建议?
4

2 回答 2

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。

于 2010-02-08T14:33:45.133 回答
0

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

于 2010-02-08T14:29:52.800 回答