我有一个调用javascript来确认的链接:
$("a.delete").click(function() {
var name = $(this).parent().prev('td').prev('td').text();
jConfirm('Are you sure you want to delete the following member:' + name, 'Member Delete', function(r) {
});
});
我希望,如果用户单击“是”以调用类似于此代码的控制器操作:
<%= Html.ActionLink("Delete", "Delete", new { id = item.Mail_ID })%>
我如何获得jquery确认弹出窗口的功能,但在使用actionlink之后仍然可以获得相同的结果。
答案 0 :(得分:2)
使用:
<%= Url.Action("Delete", "Delete", new { id = item.Mail_ID }) %>
仅生成实际网址(不包含<a href="..." >...</a>
)。这样你就可以将它渲染到你的javascript&amp;使用window.location
,因此您的javascript变为(假设jConfirm
末尾的函数是接受时的回调):
$("a.delete").click(function() {
var name = $(this).parent().prev('td').prev('td').text();
jConfirm('Are you sure you want to delete the following member:' + name, 'Member Delete', function(r) {
window.location = <%= Url.Action("Delete", "Delete", new { id = item.Mail_ID }) %>;
});
});
另一个替代方案,如果他们没有启用javascript,它将仍然可以工作(没有确认)将是保留链接,因为它是&amp;然后这样做:
$("a.delete").click(function() {
var url = $(this).attr("href");
var name = $(this).parent().prev('td').prev('td').text();
jConfirm('Are you sure you want to delete the following member:' + name, 'Member Delete', function(r) {
window.location = url;
});
});
直接从链接抓取网址(即原始<%= Html.ActionLink...
生成的网址)。