0

HTML ヘルパー タグを使用してリンクを作成しました。以下のコードによると、ユーザーがリンクをクリックすると、ページは と呼ばれる別のビューに移動しますHello

       @Html.ActionLink("Hello", "Hello", new {  id=item.pk  }) 

しかし、私がやりたいのは、JS メソッドを呼び出して、同じページで div を開くことです。これどうやってするの ?:ユーザーが編集をクリックしたときにいくつかのコントロールを表示および非表示にします

@foreach (var item in Model.exampleAll)
{

@Html.ActionLink("Hello", "Hello", new {  id=item.pk  }) 
}
4

2 に答える 2

2

ActionLink を次のように変更します。

 @Html.ActionLink("Hello", "Hello","YourController", new { onclick = "yourFunction();"}) 

または、リンクのクリックをインターセプトする js 関数を追加することをお勧めします。ここでは JQuery を使用します。

@Html.ActionLink("Hello", "Hello","YourController", new { id= "someLink"}) 

$('#someLink').click(function() { alert('hello'); });

編集: 関数を複数の要素に適用する必要がある場合は、css クラスをセレクターとして使用し、actionlink を変更します。

@Html.ActionLink("Hello", "Hello","YourController", new { id= item.pk, @class = "classname"}) 

$('.classname').click(function() { alert(this.id); });
于 2013-02-24T20:00:28.770 に答える
1

平凡に聞こえるかもしれませんが、私は html アンカーを使用します

<a href='' id='@(item.pk)' class='itemsList'> click me </a>

そして、JQuery イベント ハンドラー

$('.itemsList').click(function(){
      var currentId = this.id; // get id of object that was clicked
      // populate or make visible your div here
});

「MVC WAY」とは思えませんが、それ以上は必要ありません。

重要な注意:アンカー/リンクを使用して移動したくない場合は、Html.ActionLink を使用するのはやり過ぎのようです。

于 2013-02-24T20:01:55.507 に答える