MVC 3 覆盖表单操作后方法
本文关键字:方法 操作 表单 覆盖 MVC | 更新日期: 2023-09-27 18:37:16
缠绕在这个轴上。 所以我在表单中有几个按钮
@using (Html.BeginForm("Edit", "RunLogEntry", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input id="create" class="art-button" type="submit" value="Save" />
<input id="create" class="art-button" type="submit" value="Cancel" />
}
我想做的是当用户单击取消按钮时,它应该点击一个与开始形式。我可以在表单外有取消按钮,但这就是不是一个选项,因为它的物理位置需要接近休息窗体的控件。.还是应该使用链接按钮而不是提交类型?对此有任何想法将不胜感激。
如果你不需要在"取消"上发布任何数据,那么是的,只需使用带有Html.ActionLink方法的链接按钮,例如:
@Html.ActionLink("Link Text", "MyAction", "MyController")
您还可以使用 javascript 来更改表单的操作:
document.myform.action ="/MyController/MyAction";
。这当然需要你用JavaScript处理取消按钮的点击事件。
正如musefan所说,你可以把它作为一个链接
如果你想保留你的按钮,你将不得不在这个按钮上弄脏一些jQuery。
第一个解决方法是将"取消"按钮的 id 更改为"取消"而不是"创建"(每个元素都应该有一个唯一的 ID)。
<input id="cancel" class="art-button" type="submit" value="Cancel" />
然后,您需要将单独的单击事件绑定到"取消"按钮以调用不同的操作。
$("#cancel").click(function(e) {
e.preventDefault(); //Keep form from posting
window.location.href = "REDIRECT URL";
//If I want to post
$.post("URL", data { ... });
});