Где находится исходный код для Html.TextBoxFor - PullRequest
6 голосов
/ 11 мая 2011

В настоящее время я просматриваю исходный код asp.net mvc 3, который я только что загрузил с codeplex.Я особенно заинтересован в том, чтобы увидеть исходный код строго типизированных методов Helper, таких как TextBoxFor и DropDownListFor, но не смог найти их в InputExtensions.cs и в других местах.

Может ли кто-нибудь указать, где я могу найти требуемый код?Моя цель - увидеть, как эти вспомогательные методы добавляют атрибуты data- * HTML5 к различным элементам ввода в форме.

Ответы [ 2 ]

11 голосов
/ 28 января 2013

Вам не нужно загружать исходный код или использовать расширения отражателя.

Если вы «переходите к определению» ( F12 ), вы должны увидеть метаданные файла, которые являются обобщенными объявлениями методов. Оттуда наведите курсор на вкладку, и вы увидите (локальный) путь к файлу, откуда пришел метод, который также соответствует пространству имен. С этим вы сможете найти его из исходного кода MVC на Codeplex:

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

6 голосов
/ 11 мая 2011

Получить отражатель (версия 6. должна быть где-то доступна бесплатно), открыть System.Web.Mvc.dll и выполнить поиск InputExtensions

или

Получите исходный код mvc , откройте в Visual Studio и найдите InputExtensions

редактировать: неправильно прочитать вопрос ..

Я думаю, вы ищете InputExtensions.cs line: 371

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