5

重複の可能性:
Mvc Html.ActionButton

アクションメソッドへのリンクを非常に簡単にASP.NET MVC 3作成する方法を知っていますが、知りたいのは、ボタン(クリックしたとき)に特定のアクションメソッドを呼び出す方法です。

4

4 に答える 4

22

サチン、

jquery を使用している場合 (これについては触れていませんが、mvc ではかなり標準的なので示します)、次のようにします。

$('#buttonId').click(function(){
   document.location = '@Url.Action("MyAction","MyController")';
});

もちろん、おそらく ajax を使いたいと思うでしょうが、これは基本的な例です。

于 2012-05-25T11:46:27.813 に答える
15

html を使用できます<form>

@using (Html.BeginForm("SomeAction", "SomeController", FormMethod.Get))
{
    <input type="submit" value="Click me" />
}
于 2012-05-25T11:51:04.397 に答える
4

どのようにしますか?MVC を使用しない場合と同じ方法です。

<INPUT TYPE="BUTTON" VALUE="Home Page" ONCLICK="window.location.href='/Controller/Action'"> 
于 2012-05-25T11:44:43.803 に答える
4

フォーム GET メソッドの使用に関する Darin の回答と同様に、アクションを呼び出す JavaScript 関数を呼び出すこともできます。

クリックされたときにボタン クリック イベントをインターセプトし、独自のコードを実行できます。そのコードは、Ajax を使用して非同期にアクションを呼び出すか、アクション メソッドに移動するだけです。

ボタン クリック イベントをインターセプトするサンプル JavaScript を次に示します。

$(document).ready(function () {

    myButton.onclick = function (event) {
        // in here you can call an ajax method or just navigate to an action 
        return false;
    }

    // or using jQuery
    $('#myButton').click(function (e) {
        // do whatever here
        e.preventDefault;
    });
});

または、href 属性を持つボタンをインターセプトできます

$(function () {
     $("#myButton").click(function () {
         var href = $(this).attr("href");
         var route = href + "?paramName=" + $('#SomeValue').val();
         $(this).attr("href", route);
     });
});

これにより、ページの別の入力に保存した可能性のあるパラメーター情報が追加され、それが URL に追加されてから、アクションに移動します。

于 2012-05-25T11:42:02.380 に答える