MVC3按钮单击事件

时间:2011-08-25 16:08:34

标签: asp.net-mvc-3 buttonclick

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

3 个答案:

答案 0 :(得分:9)

MVC 3中没有服务器端按钮单击事件,您需要根据回发的表单值确定单击了哪个按钮。请查看此博客文章以获取更多信息 -

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

答案 1 :(得分: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"/>

然后我使用了一些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>

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

答案 2 :(得分:1)

以下按钮单击事件命中控制器

中的相关actionResult方法
      <input type="button" name="button" id="btnadd" value="Add" onclick="location.href='@Url.Action("ActionResultName", "ControllerName")'" >