我的代码中有这个 Html.ActionLink:
@Html.ActionLink("Up",
"GetCategory",
"Category",
new { C_ID = CID, D_ID = DID, E_ID = EID, F_ID = FID },
new { id = "item-" + ItemID + "-getcategories-" + ItemLevel,
@class = "getCategory" })
我想将 Javascript 变量的值附加到路由字典中。为此,我使用了这个 SO 问题ASP.NET MVC 2 Html.ActionLink 中指定的解决方案和 JavaScript 变量
我试图自定义答案,这就是我所拥有的:
$(function ()
{
$('a.getCategory').click(function ()
{
.
.
.
var CatID = 0; //Calculate from this.ID
this.href = this.href + '?Cat_ID=' + CatID;
});
});
问题是, 的值this.href
不是 Html.ActionLink 生成的值。相反,它是页面的当前 URL。我的理解是this.href
应该参考ActionLink的href(因为this
是指ActionLink生成的锚元素)。我究竟做错了什么?
编辑
更令人困惑的是: Html.ActionLink 用于其中一个选项卡(我使用的是 Jquery UI 选项卡)。因此,如果我使用.attr('href')
读取 JS 函数中的值,我会得到一个完全不同的值:
var AnchorHref = $(this).attr('href');
的值AnchorHref
是#ui-tabs-XX
(其中 XX 是一个数字) - 这是由 Jquery UI 选项卡自动生成的 div。