Html.BeginForm()是否必要?

时间:2009-09-17 23:15:25

标签: asp.net-mvc html.beginform

Html.BeginForm()做了什么,是否有必要?

3 个答案:

答案 0 :(得分:5)

基本上,它输出

<form>

标记到HTML输出中。如果您的页面POST(即按下按钮以提交表单),则需要表单标记,以便浏览器知道提交表单的位置。 它可能正在为你工作的原因是因为你可能没有任何按钮 - jsut链接(我不知道你的应用程序是什么,所以只是在这里猜测。)

简而言之:如果您希望能够将表单提交给某个操作,是的,该标记是必需的。如果你通过链接完成所有操作,那么你不需要表单标签,因此不需要BeginForm。

HTH。

P.S。阅读Scott Guthrie关于ASP.NET MVC的博客文章,他们 真的 帮助您入门。

答案 1 :(得分:3)

BeginForm()只是使用提供给它的参数写出表单标记。如果您没有表格,则不会或如果您正在与AJAX进行所有页面交互,则可能不需要它。如果您只在页面上有链接,则表格是不必要的。但是,除非您使用AJAX,否则您无法对控制器操作执行POST请求,而无需使用它来注入表单标记或手动注入表单标记。

答案 2 :(得分:0)

根本没有必要。它只是一个处理设置表单标签的帮助器。但是使用它是个好主意。我的直觉说他们会增强这个助手来处理你目前使用AntiForgeryToken帮助器和相关属性处理的XSS攻击等问题。