コードにこの 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 を参照する必要があります ( this
ActionLink によって生成されたアンカー要素を参照するため)。私は何を間違っていますか?
編集
さらに紛らわしいのは、Html.ActionLink はタブの 1 つです (私は Jquery UI タブを使用しています)。したがって.attr('href')
、JS 関数で値を読み取るために使用すると、まったく異なる値が得られます。
var AnchorHref = $(this).attr('href');
の値(XXAnchorHref
は#ui-tabs-XX
数字) - これは、Jquery UI タブによって自動生成された div です。