当我单击页面中的链接时,它并不总是在 javascript 中注册。这是一个 MVC 解决方案,这是封装在 Site.Master 页面中的视图之一。
这个第一个例子有效。页面:(someView.aspx)
<%: Html.ActionLink("Add", "AgentNotesCreate", "AgentNotes", new { id = Model.AgentId }, new { @class="addLink"} )%>
(渲染链接)
<a class="addLink" href="/AgentNotes/AgentNotesCreate/152">Add</a>
Javascript:
$(function () {
$(document).on("click", "a.addLink", function () {
var newHref = $(this).attr("href");
if (newHref.split("?").length > 1) {
// There's already a query string attached - we're adding our own on top.
newHref += "&returnToken=" + $("#page_redirect_token").val();
}
else {
// We're adding the only querystring parameter
newHref += "?returnToken=" + $("#page_redirect_token").val();
}
$(this).attr("href", newHref);
});
});
但是,这第二个示例也引用了上述相同的 javascript,但不起作用 - 它转到 $(document)... 行,然后跳过整个函数,因此没有将 returnToken 添加到 URL。
第二个例子:(someSecondView.aspx)
<%:Html.ActionLink("Add", "EMDProductShelfCreate", "EMDProductShelf", new{id = Model.PersonId}, new{@class="addLink"} ) %>
(渲染链接)
<a class="addLink" href="/EMDProductShelf/EMDProductShelfCreate/45">Add</a>