ビューに3つのボタン(追加、保存、キャンセル)が必要です。これらのボタンをクリックすると、コントローラーの関連するメソッドにヒットするはずです。 MVC3でボタンクリックイベントを実現するにはどうすればよいですか?誰かが私に例を提供できますか?もっと良い方法があれば私に提案してください。
MVC 3にはサーバー側のボタンクリックイベントはありません。投稿されたフォームの値に基づいて、どのボタンがクリックされたかを判断する必要があります。詳細については、このブログ投稿をご覧ください-
私はASP.NETMVCを初めて使用しますが、これを解決する方法は、フォームにいくつかのボタンがあり、それぞれにクラスを指定してから、それらのデータパラメーターを指定することでした。この例ではいくつかのアイテムVal1とVal2から最初のボタン用に2つのプロパティ、2番目のボタン用に2つのプロパティ(Val1とVal3)を取得しました。
<input type="button" value="Button 1" class='button1' data-val1="@item.Val1" data-val2="@item.Val2"/>
<input type="button" value="Button 2" class='button2' data-val1="@item.Val1" data-val2="@item.Val3"/>
次に、jqueryを使用してクリックイベントを処理し、呼び出すアクションを指定しました。
<script type="text/javascript">
$(function () {
$('.button1').click(function () {
var Val1 = $(this).data('val1');
var Val2 = $(this).data('val2');
$.ajax({
type: "POST",
data: "val1=" + Val1 + "&val2=" + Val2,
url: '@Url.Action("MyAction", "MyController")',
dataTyp: "html",
success: function (result) {
// whatever I did here on success
}
});
});
});
// rinse and repeat for the other button, changing the parameters and the action called.
</script>
これは私のニーズにはかなりうまくいくようでした。
<input type="button" name="button" id="btnadd" value="Add" onclick="location.href='@Url.Action("ActionResultName", "ControllerName")'" >