2012-03-05 7 views
0

私のコントローラでpostメソッドを呼び出す必要があり、私のビューでHTML.ActionLinkを使用しています。MVC 3のアクションリンクを使用してポストメソッドを呼び出す方法

@HTML.ActionLink("EditUser","User"); 

[HTTpVerbs.Post] 
Public ActionResult EditUser() 
{...} 

しかし、いつもの短い答えは、あなたが直接ではなく、ということです

[HTTPVerbs.Get] 
Public ActionResult EditUser() 
{...} 
+1

あなたのコードを見ずに完全な文脈を理解しようとするのは難しいです。あなたは一日中投機的な答えを得ることができ、誰もあなたが知りたいことに実際に対処していない。 – samack

+0

@samack私はこのMVCのものに新しい参入者です。私はこれについていくつかの記事を見つけて、今後進むつもりです。私はHTMl.Actionリンクをクリックしてそのコントローラのメソッドを呼び出す必要があります。[HTTpVerbs.Post] Public ActionResult EditUser(){} ..代わりに、常にEditUserのGetメソッドを呼び出しています – yrksundeep

答えて

2

で私をフェッチしています。

これ以上の答えは、そうするためにajax javascriptメソッドを書く必要があるということです。何かが好き:

<a onclick="dopost()"/> 

<script type="text/javascript"> 
    function dopost() { 
     $.ajax({ 
      type: 'POST', 
      url: ... , 
      data: ..., 
      success: ..., 
      dataType: ... 
     }); 
    } 
</script> 
+0

あなたは必要ありませんそれをajaxにするには、単純なform.submit()で十分ですが、リンクの横にフォームが必要です。 – MikeSW

+0

これは動作しません。これは 'href =" javascript:dopost() "または' onclick = "dopost()" 'です。しかし、スクリプト自体($( '#button').Click(function(){...}) ')からのバインドは、これらの解のどちらよりも優先されます。 –

+0

@MikeSW - それ以外の場合は、送信ボタンを使用します。また、送信ボタンをクリックすると、送信している場所に実際に移動するページが表示されます。これは望ましくない可能性があります。 –

関連する問題