6

使用 Html.BeginForm 有什么好处?

我们遇到了一些与 html 助手和 razor 生成器视图测试相关的问题,我正在努力寻找阻止我们回到旧 skool 表单标签的好处。

有没有人支持或反对任何一个?

我的意思是:

<form action="@Url.Action('Blah')">
4

3 回答 3

2

Html.BeginForm很有用,因为它使用 Global.asax 中定义的路由生成 url。(或者您可以使用自己的代码对其进行扩展)

在我看来,使用旧标签既不是最坏的也不是最好的。您只需手动或使用 Url 助手生成您的 url。最后页面中的html将是相同的

<form ....>

   html

</form>
于 2012-04-11T06:35:17.587 回答
2

Html.BeginForm也 implements IDisposable,这意味着表单必须正确关闭。也许这是一件小事,但不关闭Html.BeginForm会产生运行时错误,而未关闭的<form>标签则不会。

于 2012-04-11T06:52:42.630 回答
2

没有没有区别,form标签只是使用路由来生成url,所以如果你使用@Url.Action你就可以了

甚至有书籍使用这种方式使用普通的旧标签和 url 助手来生成路线

ASP.NET MVC Website Programming是一个例子


编辑

** 从 Mvc 4 开始没有区别,在 Mvc 4 之前,例如 Mvc 3 要求Html.BeginForm使 javascript 不显眼的验证工作

于 2012-04-11T09:13:38.563 回答