【发布时间】:2016-03-13 07:17:55
【问题描述】:
在我的 ASP.NET MVC (5.2) 项目中,我有一个名为 register.cshtml 的页面。它不包括任何形式或任何东西,只是普通的 div。
在其中一个 div 中,我正在渲染部分内容:
@Html.Partial("~/Views/Users/_x.cshtml").
在_x.cshtml里面我有一个表格:
@using (Html.BeginForm("/users/x"))
{
...
}
当我进入我的注册页面时,我希望我的表单呈现为:
<form action="/users/x" method="post"> ... </form>
但相反,我得到了这个:
<form action="/users/register?Length=23" method="post" novalidate="novalidate"> ... </form>
什么是length=23,为什么要添加novalidate 属性,为什么发布到错误的路径?
为什么我的表单无法正确呈现?
【问题讨论】:
-
你打电话给this overload。我想这不是你想要的。您应该在
BeginForm中使用控制器/操作名称,而不是 url。 -
假设你有一个名为
usersController的控制器和一个名为x的方法,那么它需要是@using (Html.BeginForm("x", "users")) { -
哦,我怎么会犯这么简单的错误。是的,现在更正了。您能否将其发布为答案@StephenMuecke
标签: asp.net-mvc asp.net-mvc-5 partial-views asp.net-mvc-partialview html.beginform