1

コードにこの 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 で指定されたソリューションを使用しました

私は答えをカスタマイズしようとしましたが、これが私が持っているものです:

$(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 を参照する必要があります ( thisActionLink によって生成されたアンカー要素を参照するため)。私は何を間違っていますか?

編集

さらに紛らわしいのは、Html.ActionLink はタブの 1 つです (私は Jquery UI タブを使用しています)。したがって.attr('href')、JS 関数で値を読み取るために使用すると、まったく異なる値が得られます。

      var AnchorHref = $(this).attr('href');

の値(XXAnchorHref#ui-tabs-XX数字) - これは、Jquery UI タブによって自動生成された div です。

4

0 に答える 0