如何使用Html.BeginForm?

时间:2014-01-28 22:07:44

标签: asp.net-mvc razor html.beginform

你能帮我解释一下这段代码吗?用户单击“登录”后会发生什么?

@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的google文档。

1 个答案:

答案 0 :(得分:1)

表单将提交给呈现它的相同URL。

正如documentation中所指定的,使用的重载是BeginForm(this HtmlHelper helper, object routeValues),因此ReturnUrl的值将作为路由值传递。该值的变化取决于应用程序的路由 - 通常它将作为查询字符串参数附加到请求URL。

尝试实现视图并检查渲染的标记。