使用 Html.BeginForm 有什么好处?
我们遇到了一些与 html 助手和 razor 生成器视图测试相关的问题,我正在努力寻找阻止我们回到旧 skool 表单标签的好处。
有没有人支持或反对任何一个?
我的意思是:
<form action="@Url.Action('Blah')">
使用 Html.BeginForm 有什么好处?
我们遇到了一些与 html 助手和 razor 生成器视图测试相关的问题,我正在努力寻找阻止我们回到旧 skool 表单标签的好处。
有没有人支持或反对任何一个?
我的意思是:
<form action="@Url.Action('Blah')">
这Html.BeginForm
很有用,因为它使用 Global.asax 中定义的路由生成 url。(或者您可以使用自己的代码对其进行扩展)
在我看来,使用旧标签既不是最坏的也不是最好的。您只需手动或使用 Url 助手生成您的 url。最后页面中的html将是相同的
<form ....>
html
</form>
Html.BeginForm
也 implements IDisposable
,这意味着表单必须正确关闭。也许这是一件小事,但不关闭Html.BeginForm
会产生运行时错误,而未关闭的<form>
标签则不会。
没有没有区别,form标签只是使用路由来生成url,所以如果你使用@Url.Action
你就可以了
甚至有书籍使用这种方式使用普通的旧标签和 url 助手来生成路线
ASP.NET MVC Website Programming
是一个例子
** 从 Mvc 4 开始没有区别,在 Mvc 4 之前,例如 Mvc 3 要求Html.BeginForm
使 javascript 不显眼的验证工作