1、方法概述
// 摘要: // 将 <form> 开始标记写入响应。在用户提交窗体时,将由某个操作方法处理该请求。 // // 参数: // htmlHelper: // 此方法扩展的 HTML 帮助器实例。 // // actionName: // 操作方法的名称。 // // controllerName: // 控制器的名称。 // // routeValues: // 一个包含路由参数的对象。 // // method: // 用于处理窗体的 HTTP 方法(GET 或 POST)。 // // htmlAttributes: // 一个对象,其中包含要为该元素设置的 HTML 特性。 // // 返回结果: // <form> 开始标记。 public static MvcForm BeginForm(this HtmlHelper htmlHelper, string actionName, string controllerName, RouteValueDictionary routeValues, FormMethod method, IDictionary<string, object> htmlAttributes);
2、实例
@using (Html.BeginForm("Index", "Search", @FormMethod.Get, new { id = "mainForm", name = "mainForm",@class="form-inline mainform"}))
{
<div class="form-group form-group-sm form-custom">
<input type="text" name="searchKeys" class="form-control" placeholder="请输入关键字" />
<input type="submit" id="submitBtn" class="btn btn-sm btn-default" value="搜索" />
</div>
}
说明:Index:操作方法的名称,Search:控制器的名称,@FormMethod.Get:定义from的method的值,new { id = "mainForm", name = "mainForm",@class="form-inline mainform"}:指定form的id,name,class属性,因class是Razor语法中的关键字所以要用@来标记。另外,还可以设置路由的参数对象,在此基础上加上new{id=“”}即可,可以为id赋值,如果指定确不赋值则可以实现防止提交链接后面自带参数。在其他htmlHelper方法中如果有object
HtmlAttributes参数都可以使用new{属性=“”}的方式对生成的html元素附加属性。
3、渲染后的页面Html代码
<form action="/Search" class="form-inline mainform" id="mainForm" method="get" name="mainForm"> <div class="form-group form-group-sm form-custom"> <input name="searchKeys" class="form-control" placeholder="请输入关键字" type="text"> <input id="submitBtn" class="btn btn-sm btn-default" value="搜索" type="submit"> </div> </form>