ASP.NET 中HTML和Form辅助方法

Form辅助方法

Form最重要的属性就是action和method,action指明form中的数据被提交到哪里,method指明用什么方法,默认为GET,下面是一个简单的例子:

    <form action="/Home/Search" method="get">
<input name="q" type="text"/>
</form>

如果使用 ASP.Net MVC , Home/Search往往表示HomeController的Search 方法,配合MVC使用时,如果直接也这样的HTML代码有如下几个问题:如果整个网站要改变Route的规则,将至改为/Search/Home,也就是Controller在后面,我们就得该这段HTML代码。虽然不会很经常,但是也有可能,如果使用Html.BeginForm辅助方法,就不用担心这个问题了。

public static MvcForm BeginForm(this HtmlHelper htmlHelper, string actionName, string controllerName, RouteValueDictionary routeValues, FormMethod method, IDictionary<string, object> htmlAttributes);

BeginForm有很多使用默认值的重载方法,就不一一介绍了, 上面这个是的一个最全的方法,分别介绍各个参数的意义吧。

BeginForm有两种使用方法,之一:

    @using (Html.BeginForm("Search", "Home", FormMethod.Get))
{
<input name="q" type="text" />
}

之二:

    @{Html.BeginForm("Search", "Home", FormMethod.Get);}
{
<input name="q" type="text" />
}
@{Html.EndForm();}

用哪个就看个人喜好了。

HTML辅助方法

HTML的辅助方法有很多,下面一一介绍。

@Html.AntiForgeryToken()

这是用来防止CSRF(Cross-Site Request Forgery),这篇文章详细介绍了这个辅助方法。

上一篇:共享MFC每周时间选择控件代码


下一篇:A fine property of the convective terms of axisymmetric MHD system, and a regularity criterion in terms of $\om^\tt$