在 razor 扩展属性中使用 @ 的原因

The reason for using @ in the razor extension attributes

这两个代码在最终标记中的结果相同。那么为什么在 htmlAttributes 部分中使用 @

@Html.TextBoxFor(model => model.ManagerName, new { @autocomplete = "off", @maxlength = "40" })

@Html.TextBoxFor(model => model.ManagerName, new { autocomplete = "off", maxlength = "40" })

MVC 版本对此有影响吗? 它可能在旧版本中是强制性的!

在“new { ... }”块中,一些词如“class”是关键字。 @ 是转义关键字所必需的。对于非关键字,没有区别。