Ajaxing表中的链接

时间:2010-03-24 00:02:59

标签: jquery asp.net-mvc ajax

我在ASP.Net MVC页面中有一个结果表,其中最后一列是View Details链接。我想让用户单击View Details链接并调用AJAX方法以在浮动对话框中打开结果。

我正在努力解决的问题是如何将AJAX调用链接到结果表中的链接。我正在使用一个直接嵌入〜/ ControllerName / ViewDetails / InstanceId链接的链接。单击它会将用户带到一个新页面,这是我想要用AJAX调用和对话窗口替换的行为。

现在我想将一个jQuery处理程序附加到链接以触发AJAX调用,除了为结果表中的每一行编写一个jQuery处理程序之外,我无法看到如何执行此操作。必须有一种方法将链接标记为ViewDetails链接(使用类?)并将jQuery单击处理程序附加到类型ViewDetails的所有实例。

2 个答案:

答案 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消费它。