4

私は次のJavascriptコードを持っています:

var idJS;

$('.disp').click(function () { 
    idJS = $(this).attr("id");   
})

そして、私はこれをしたい:

@Ajax.ActionLink("myMethod", "myMethod", "HomeController", new { id = idJS },
  new AjaxOptions() { HttpMethod = "Get", UpdateTargetId = "myDiv" })

これを行うことは可能ですか?

4

2 に答える 2

5

Razorビューコードはページが読み込まれたときにレンダリングされるため、これを行うことはできません。そのため、JavaScriptを実行する前に、すべてのコードが解決(HTMLに変換)されます。

ただし、Javascriptを使用して、たとえば次のようにリンクのプロパティを変更することはできます(恐れ入りますが、JQueryを使用して、必要に応じて同等のjavascriptを検索してください)

$("a").attr("href", "/Home/myMethod/" + idJS);

わかりました、それから私はそれを調べます、javascriptだけ:

document.getElementById("link").href = "/Home/myMethod/" + idJS;
于 2012-05-11T14:52:58.563 に答える
1

いいえ。サーバー側とクライアント側はまったく異なるものです。サーバー側は、クライアントに到達する前にレンダリングされます。$(document).ready()が起動されるまでに、サーバーは終了します。

あなたができることは、jQueryでリンクのIDを変更することです。もう少し情報があれば、もっと手助けできるでしょうが、jQueryで属性を変更するのは簡単です。

IDを「ajaxBtn」などのようにハードコーディングするように設定し、.dispをクリックしても、データ属性を必要なものに変更します。ただし、これ以上のデータがないと、IDを設定する必要がある理由を正確に知ることはできません。

于 2012-05-11T14:53:20.703 に答える