Html.TextBoxFor的源代码在哪里

时间:2011-05-11 09:14:41

标签: asp.net-mvc asp.net-mvc-3 html-helper strongly-typed-helper

我目前正在浏览我刚从codeplex下载的asp.net mvc 3的源代码。我特别感兴趣的是看到强类型Helper方法的源代码,如TextBoxFor和DropDownListFor,但未能在InputExtensions.cs和其他地方找到它们。

有人会指出我在哪里可以找到所需的代码吗?我的目的是看看这些辅助方法如何将Html 5的data- *属性添加到表单上的不同输入元素。

2 个答案:

答案 0 :(得分:11)

您无需下载源代码或使用反射器扩展程序。

如果你"去定义" ( F12 ),您应该看到文件元数据,这是汇总的方法声明。从那里,将鼠标悬停在选项卡上,您应该看到方法来自的(本地)文件路径,该路径也对应于命名空间。有了它,您将能够从Codeplex上的MVC源代码中查找它:

http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/5cb74eb3b2f3#src/System.Web.Mvc/Html/InputExtensions.cs

答案 1 :(得分:6)

获取reflector(版本6.应该可以免费获得),打开System.Web.Mvc.dll并搜索InputExtensions

获取mvc source code,在visual studio中打开,然后搜索InputExtensions

编辑:误读了问题..

我猜您正在寻找InputExtensions.cs line: 371

tagBuilder.MergeAttributes(htmlHelper.GetUnobtrusiveValidationAttributes(name, metadata));