asp.net-mvc – 在MVC3中使用Html.BeginForm是什么

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 在MVC3中使用Html.BeginForm是什么前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在MVC3中使用Html.BeginForm是什么。
为什么我们使用它,当我们可以直接添加表单标签时,这个html帮助器是否添加了一些功能,或者做了一些不能用简单的表单标签来做的事情。

解决方法

Html.BeginForm帮助程序方法包含一个 couple overloads,其目的是使写入路由表单更容易。它意识到MVC的结构,并确保其目标是控制器和动作。这只是一句句法糖:
<form method="post" action="@Url.Action(...)">

以微软的话说:

The ASP.NET MVC framework includes helper methods that provide an easy way to render HTML in a view.

当然,没有人让你使用它们。它只是一个偏好的问题。事实上,在MVC的早期阶段,许多WebForms开发人员从服务器控件a-la< asp:TextBox>等人,并坚持用手编写一切。

强烈建议您使用帮助程序,因为他们知道表单验证。 Html.BeginForm只是为您提供一致的方式来开始和完成您的表单:

@using(Html.BeginForm())
{
    @Html.LabelFor(...)
    @Html.EditorFor(...)
}

Html.BeginForm返回一个IDisposable对象,允许你把它包装在C#using语句中。当使用退出时,处理将自动为您调用Html.EndForm()。由于Html.EndForm返回void,所以从Razor调用是不方便的:

@Html.BeginForm()
<formStuff>
@{Html.EndForm();}

一个简单的@ Html.EndForm()将转入Write(Html.EndForm()) – >写(void),即编译时间错误

猜你在找的asp.Net相关文章