【问题标题】:Asp.net MVC: Multiple areas having same controller and action method - Html.BeginForm with Post actionAsp.net MVC:具有相同控制器和操作方法的多个区域 - 带有 Post 操作的 Html.BeginForm
【发布时间】:2015-01-02 13:14:43
【问题描述】:

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

两个不同的区域同名控制器:

AdminAreaRegistration.cs

UserAreaRegistration.cs

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

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

但我得到了一个错误:

如何使用 Html.BeginForm() 解决多个区域具有相同名称控制器和发布方法的问题?

【问题讨论】:

  • 不重复,它关注 Html.BeginForm()。你知道如何解决它吗?
  • 我已经为所有控制器和不同区域的动作注册了路由,但我想调用 post 方法并传递表单数据
  • 请告诉我您在 RouteConfig 中的 RegisterRoutes 方法以及 AdminAreaRegistraction.cs 和 UserAreaRegistraction.cs。
  • 在 web config 中注册命名空间

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


【解决方案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" }))

【讨论】:

  • 我已经尝试过相同的语法,但我没有任何解决方案:(
猜你喜欢
  • 1970-01-01
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多