Html助手的Visual Studio自动完成功能

时间:2014-02-27 16:20:48

标签: c# visual-studio razor intellisense

在Razor中编写Html帮助元素时,例如:

@Html.LabelFor(m => m.MyProperty, new { @class="col-sm-2 control-label" })

@Html.TextBoxFor(m => m.MyProperty, new { @class="form-control", placeholder="Property" })

Visual Studio正在将“new {”转换为“new object {”,但这是无效的。为什么intellisense这样做?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我想这是因为this特定的重载签名:

public static MvcHtmlString TextBoxFor<TModel, TProperty>(
    this HtmlHelper<TModel> htmlHelper,
    Expression<Func<TModel, TProperty>> expression,
    Object htmlAttributes
)

毕竟,htmlAttributes必须有某种类型的声明,Object是他们选择的最低公分母,因为dynamic不是最初编写这些方法时可用。

这肯定是令人讨厌的 - 但是Intellisense只是在做它的工作:)