相关: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