MVC3按钮单击事件

TJK*_*TJK 8 buttonclick asp.net-mvc-3

我的视图中应该有3个按钮(添加,保存,取消).如果我单击这些按钮,他们应该在控制器中点击相关的方法.如何在MVC3中实现按钮点击事件?任何人都可以提供一个例子吗?建议我,如果有更好的方法.

ipr*_*101 9

在MVC 3中没有服务器端按钮单击事件,您需要根据发回的表单值确定单击了哪个按钮.有关详细信息,请查看此博客文章 -

http://weblogs.asp.net/dfindley/archive/2009/05/31/asp-net-mvc-multiple-buttons-in-the-same-form.aspx


its*_*att 7

我是ASP.NET MVC的新手,但我解决这个问题的方法是我在表单上有几个按钮并给每个按钮一个类,然后为它们指定数据参数,在本例中我是'从第一个按钮的某个项目Val1和Val2获得两个属性,在第二个按钮中获得两个属性 - 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"/>
Run Code Online (Sandbox Code Playgroud)

然后我使用了一些jquery来处理click事件并指定要调用的操作:

<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>
Run Code Online (Sandbox Code Playgroud)

这似乎对我的需求非常有效.