相關:MVC3 Razor using Html.BeginForm problem爲什麼@Using Html.BeginForm中的普通標記需要@?
當我做一個HTML表單的MVC 3/VB剃刀引擎,我希望能夠做到這一點是這樣的:
@Using Html.BeginForm("Action", "Controller")
<fieldset>
@* Other form code and values *@
</fieldset>
End Using
但如果我這樣做,我得到「BC32035:屬性說明符不是一個完整的語句,使用一個續行來將該屬性應用於以下語句。」我需要在開始標記之前添加@字符以避免此錯誤。有人能解釋爲什麼嗎?
什麼額外的@或@:在那個代碼中做?這是一種逃避角色嗎? – 2012-04-19 15:35:55
或多或少是的。它表示您正在逃避編程語言(例如C#,VB.NET)語法的剃刀。 C#不需要額外的微調,因爲符號'<'沒有被它使用,所以Razor也可以使用'''作爲* C#的* *。在VB.NET中沒有這樣的特權,在VB.NET中,任何以'<開頭的東西都是XML文字,所以對於這種情況,您需要使用Razor的@來避免VB.NET的語法 – 2012-04-19 15:46:28
剃刀細微差別的例子:http://www.ienablemuch.com/2011/08/razor-tag-nuances.html – 2012-04-19 15:52:29