2013-02-18 102 views
11

對於ASP.NET MVC應用程序,可有人向我解釋爲什麼Html.BeginForm調用與聲明@using開始?ASP.NET MVC剃刀,Html.BeginForm,using語句

實施例 -

@using(Html.BeginForm()){

//Stuff in the form 

}

我想@using語句是包括命名空間。 謝謝!

回答

16

Using Statement提供了一種方便的語法,可以確保正確使用IDisposable對象。由於BeginForm幫手實現了IDisposable界面,因此您可以使用using關鍵字。在這種情況下,該方法在語句結束時呈現結束標記</form>。您也可以使用BeginForm沒有using塊,但你需要標記的形式結束:當您使用using與Html.BeginForm

@{ Html.BeginForm(); } 
    //Stuff in the form 
@{ Html.EndForm(); } 
4

using作爲語句用於定義IDisposable對象的範圍。

@using (var form = Html.BeginForm()) { 
    //Stuff in the form 

} // here Dispose on form is invoked. 

Html.BeginForm回報對象,在處置渲染關閉標籤的形式:</form>

using爲包括命名空間指令。

1

,助手發出呼叫期間關閉標籤,並打開標籤BeginForm以及調用返回對象實現IDisposable

當執行返回到視圖中使用語句(關閉大括號)的末尾時,助手會發出結束窗體標記。 using代碼更簡單和優雅。

它不是強制性的,你應該使用using結合Html.BeginForm

您還可以使用

@{ Html.BeginForm(); } 
    <input type="text" id="txtQuery"/> 
    <input type="submit" value="submit"/> 
@{ Html.EndForm(); }