我有一个asp.net mvc视图,其中页面顶部是一个表。我想要的是单击表格中的一行,该行将转到服务器并获取该表格的详细信息。这工作正常,我在Json返回细节。
问题是我知道想要在下面显示详细信息面板。现在我在部分视图中完成了详细信息窗格。
如何使用jquery“挂钩”,所以当我点击该行时,详细信息窗格会显示填写的正确模型数据。
答案 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对象。