我的视图中应该有3个按钮(添加,保存,取消)。如果我单击这些按钮,他们应该在控制器中点击相关的方法。如何在MVC3中实现按钮点击事件?任何人都可以提供一个例子吗?建议我,如果有更好的方法。
答案 0 :(得分:9)
MVC 3中没有服务器端按钮单击事件,您需要根据回发的表单值确定单击了哪个按钮。请查看此博客文章以获取更多信息 -
答案 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)
<input type="button" name="button" id="btnadd" value="Add" onclick="location.href='@Url.Action("ActionResultName", "ControllerName")'" >