System.Web.Webpages.Html与System.Web.Mvc命名空间中的HtmlHelper类

Pau*_*aul 6 asp.net asp.net-mvc html-helper asp.net-mvc-3

在ASP.NET MVC3中,我试图设置验证错误辅助方法设置的css类.(不是这个问题,接受的答案只是ADDS该类,我想完全覆盖它.)在查看MVC3源代码时,我ValidationInputCssClassName在HtmlHelper类中找到了该属性.它是可设置的,如果设置,它会将值存储在存储提供程序中.属性的get方法返回[提供者值] ??[默认类名].

现在,如果您只是在控制器代码中键入HtmlHelper.ValidationInputCssClassName(MSDN条目),您将看到它是一个静态只读字段.原因是有两个HtmlHelper类,一个在System.Web.Mvc命名空间中,另一个在System.Web.Webpages.Html命名空间中.可以设置属性System.Web.Webpages.Html.HtmlHelper.ValidationInputCssClassName(MSDN条目),但无论在何处设置它,它似乎都不会对生成的代码产生任何影响.

我错过了什么?这些课程有什么区别?

Dis*_*ile 3

我不太肯定,但我认为System.Web.WebPages.Html是为了将 ASP.net WebForms 与 Razor 一起使用。

由于ValidationInputCssClassName等 都是只读字段,我认为解决此问题的唯一方法是创建自己的 HtmlHelper 扩展方法,以便您可以自定义此行为。

来自MSDN

System.Web.WebPages 命名空间包含用于呈现和执行使用 ASP.NET 网页和 Razor 语法构建的页面的核心类。