Asp.net MVC:具有相同控制器和操作方法的多个区域 - 带Post操作的Html.BeginForm

时间:2015-01-02 13:14:44

标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-areas

我正在使用Asp.net MVC的区域功能。

具有相同名称控制器的两个不同区域:

Two area with same controller name

AdminAreaRegistration.cs enter image description here

UserAreaRegistration.cs enter image description here

我想要一个发布到以下方法的表单:

 @using (Html.BeginForm("UserLogin", "Login", 
 new { area = "", model = this.Model, returnUrl = Request.QueryString["returnUrl"] },      
 FormMethod.Post, new { @Id = "frmLogin" }))

但我收到了一个错误:

enter image description here

如何解决多个区域使用Html.BeginForm()的同名控制器和post方法?

1 个答案:

答案 0 :(得分:1)

您必须在HTML帮助器标记中定义区域,如下所示

您的区域名称必须在HTML帮助程序中定义。

@using (Html.BeginForm("UserLogin", "Login", 
new { area = "YOUR AREA NAME", model = this.Model, returnUrl = Request.QueryString["returnUrl"] },      
FormMethod.Post, new { @Id = "frmLogin" }))