加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 00:35:42 所属栏目:asp.Net 来源:网络整理
导读:在MVC3中使用Html.BeginForm是什么。 为什么我们使用它,当我们可以直接添加表单标签时,这个html帮助器是否添加了一些功能,或者做了一些不能用简单的表单标签来做的事情。 解决方法 Html.BeginForm帮助程序方法包含一个 couple overloads,其目的是使写入
在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),即编译时间错误。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读