我建议你找这里的解决方案:
http://weblogs.asp.net/dfindley/archive/2009/05/31/asp-net-mvc-multiple-buttons-in-the-same-form.aspx
基本上,你可以将数据发送到你的操作方法,并检查那里的行动何去何从拿 - 保存或申请。或者你可以把它们分成类似下面的两个控制器操作(从上面的文章被捕):
[ActionName("Register")]
[AcceptVerbs(HttpVerbs.Post)]
[AcceptParameter(Name="button", Value="cancel")]
public ActionResult Register_Cancel()
{
return RedirectToAction("Index", "Home");
}
[AcceptVerbs(HttpVerbs.Post)]
[AcceptParameter(Name="button", Value="register")]
public ActionResult Register(string userName, string email, string password, string confirmPassword)
{
// process registration
}
按钮
<button name="button" value="register">Register</button>
<button name="button" value="cancel">Cancel</button>
简单的过滤器:
public class AcceptParameterAttribute : ActionMethodSelectorAttribute
{
public string Name { get; set; }
public string Value { get; set; }
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
{
var req = controllerContext.RequestContext.HttpContext.Request;
return req.Form[this.Name] == this.Value;
}
}
感谢您的链接。将保持你的进展。 – cmnunis 2012-03-22 21:12:11