重複の可能性:
Mvc Html.ActionButton
アクションメソッドへのリンクを非常に簡単にASP.NET MVC 3
作成する方法を知っていますが、知りたいのは、ボタン(クリックしたとき)に特定のアクションメソッドを呼び出す方法です。
重複の可能性:
Mvc Html.ActionButton
アクションメソッドへのリンクを非常に簡単にASP.NET MVC 3
作成する方法を知っていますが、知りたいのは、ボタン(クリックしたとき)に特定のアクションメソッドを呼び出す方法です。
サチン、
jquery を使用している場合 (これについては触れていませんが、mvc ではかなり標準的なので示します)、次のようにします。
$('#buttonId').click(function(){
document.location = '@Url.Action("MyAction","MyController")';
});
もちろん、おそらく ajax を使いたいと思うでしょうが、これは基本的な例です。
html を使用できます<form>
:
@using (Html.BeginForm("SomeAction", "SomeController", FormMethod.Get))
{
<input type="submit" value="Click me" />
}
どのようにしますか?MVC を使用しない場合と同じ方法です。
<INPUT TYPE="BUTTON" VALUE="Home Page" ONCLICK="window.location.href='/Controller/Action'">
フォーム 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 に追加されてから、アクションに移動します。