使用Html.BeginForm有什么好处?
我们遇到了一些与html助手和剃须刀生成器视图测试有关的问题,我很难看到阻止我们回到旧skool表单标签的好处。
有没有人支持或反对?
老skool我的意思是:<form action="@Url.Action('Blah')">
答案 0 :(得分:2)
Html.BeginForm
很有用,因为它使用Global.asax中定义的路由生成url。 (或者您可以使用自己的代码扩展它)
在我看来,使用旧标签既不是最差的也不是最好的。您只需手动生成网址或使用Url帮助程序。最后,页面中的html将是相同的
<form ....>
html
</form>
答案 1 :(得分:2)
Html.BeginForm
也实现了IDisposable
,这意味着必须正确关闭表单。这可能是一个小问题,但不是关闭Html.BeginForm
会产生运行时错误,而未关闭的<form>
标记则不会。
答案 2 :(得分:2)
没有任何区别,表单标签只是使用路由来生成网址,所以如果你使用@Url.Action
,那么你很高兴
甚至还有书籍使用普通的旧标签和网址助手来生成路线
ASP.NET MVC Website Programming
就是一个例子
**
从Mvc 4开始没有区别,在Mvc 4之前,Mvc 3例如要求Html.BeginForm
使javascript不引人注目的验证工作