ASP.NET 中HTML和Form輔助方法

Form輔助方法

Form最重要的屬性就是action和method,action指明form中的數據被提交到哪裏,method指明用什麼方法,默認爲GET,下面是一個簡單的例子:html

    <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輔助方法,就不用擔憂這個問題了。mvc

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

BeginForm有不少使用默認值的重載方法,就不一一介紹了, 上面這個是的一個最全的方法,分別介紹各個參數的意義吧。網站

 

BeginForm有兩種使用方法,之一:this

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

 之二:orm

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

 用哪一個就看我的喜愛了。csrf

HTML輔助方法

 HTML的輔助方法有不少,下面一一介紹。htm

 @Html.AntiForgeryToken()blog

這是用來防止CSRF(Cross-Site Request Forgery),這篇文章詳細介紹了這個輔助方法。token

相關文章
相關標籤/搜索