我在ASP.Net MVC页面中有一个结果表,其中最后一列是View Details链接。我想让用户单击View Details链接并调用AJAX方法以在浮动对话框中打开结果。
我正在努力解决的问题是如何将AJAX调用链接到结果表中的链接。我正在使用一个直接嵌入〜/ ControllerName / ViewDetails / InstanceId链接的链接。单击它会将用户带到一个新页面,这是我想要用AJAX调用和对话窗口替换的行为。
现在我想将一个jQuery处理程序附加到链接以触发AJAX调用,除了为结果表中的每一行编写一个jQuery处理程序之外,我无法看到如何执行此操作。必须有一种方法将链接标记为ViewDetails链接(使用类?)并将jQuery单击处理程序附加到类型ViewDetails的所有实例。
答案 0 :(得分:4)
将所有链接指定为同一个类。
$(".classname").click(function(){
// use selectors like $(this).prev(), $(this).next(), $(this).parent() to get data from the particular row for in your ajax call.
});
答案 1 :(得分:2)
您必须使用jQuery类选择器。
- 为具有相同CSS类名的行设置样式,例如。 '.myDetailCol'然后在Jquery中你可以绑定他们的点击事件。
既然你要拥有Rows,你需要一个识别它的行的标识符。为此,您可以在ID attr中存储一些信息并使用它。
$('.myDetailCol').click(function(){
var id = $(this).attr('id');
$.post('myUrl', {myID: id}, function(result){
//Show your data in the box
});
});
还有其他选择。有时您可能希望为您的ID添加前缀,使其与其他内容不同。
由于您正在使用ASP.Net MVC,您可以轻松地以HTML(contentresult)或JSON(JsonResult)返回数据,并使用Javascript消费它。