Html.ActionLink生成的意外href

时间:2012-06-25 06:51:52

标签: asp.net-mvc actionlink

我的代码中有这个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 with JavaScript variable

中指定的解决方案

我尝试自定义the answer,这就是我所拥有的:

$(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。

0 个答案:

没有答案