【发布时间】:2014-01-28 22:07:44
【问题描述】:
你能帮我解释一下这段代码吗?用户点击登录后会发生什么?
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
{
<fieldset>
<legend>Log in Form</legend>
<ol>
<li>
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</li>
<li>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</li>
</ol>
<input type="submit" value="Log in" />
</fieldset>
}
顺便说一句,根本找不到关于 Html.BeginForm 的谷歌文档。
【问题讨论】:
-
它只是呈现 HTML 表单标签,按钮提交表单,因此是“提交”类型。
using子句确保调用 dispose,它呈现关闭标记。 IMO 这是对语言功能的滥用,但事实就是如此。 -
更重要的是,什么是“new { ReturnUrl = ViewBag.ReturnUrl }”?它是否提交到 returnURL?
-
顺便说一句,在 Html.BeginForm 上根本找不到谷歌文档。。 “beginform”的第一个结果:msdn.microsoft.com/en-us/library/…
-
那是 FormExtensions.BeginForm,我正在寻找 Html.BeginForm 及其剃刀!
-
是一样的。
Html只是一个HtmlHelper对象。BeginForm是在FormExtensions类中定义的HtmlHelper扩展方法。
标签: asp.net-mvc razor html.beginform