2017-06-16 4 views
1

ASP.NETコアでは、リンク項目aにアクションを設定できますが、ボタンに変更するともう動作しません。タグヘルパーの作業を「好き」のようにする "

アクション/コントローラをバインドする正しい方法は何ですかbuttonをクリックしますか?

<a asp-action="Delete" asp-route-id="@item.Id">remove</a> @*work*@ 

<button asp-action="Delete" asp-route-id="@item.Id">remove</button> @*does not work*@ 
+6

あなたは、特に 'button'をしたいですか、あなたはあなたのリンクは、ボタンのように見えるようにCSSを検討していますか? –

+5

私は削除のために 'GET'を避けるでしょう。あなたは 'POST 'でなければなりません –

+0

アクション/コントローラに' button'をリンクできるかどうか知りたいです – Serge

答えて

3

それが動作しないということはありませんが、それらは異なる用法と異なるタグのヘルパーです:あなたは<a>あなたはそれがAnchorTagHelperを実装して表示されます上にカーソルを移動した場合
は、<button>ながら、 <form>で使用されているため、FormActionTagHelperが実装されています。ボタンがないhref="/"として、formaction="/"としてレンダリングされていること、しかし

<a asp-action="Index">aaaa</a> 

<form> 
    <button asp-action="Index">bbbbb</button> 
</form> 

注意を、と、これはあなたがラップする必要がある理由です:

ので、同じ動作を得るために、あなたはこれを行うだろうそれはフォームの中にあります。 二にも、このように書くことができます:

<form asp-action="Index"> 
    <button type="submit">bbbbb</button> 
</form> 
+0

私は複数の行の商品を持っていて、それぞれの行に「削除」ボタンを追加しました – Serge

関連する問題