Преподаватель на защите лабораторной работы спросил, какого типа является этот хелпер Html.Raw(string). Я ему говорю, что это встроенный в html хелпер, не строго-типизированный, а преподаватель - строго-типизированный. Причём его аргументом является то, что здесь в строке используется объект Html.
Скажите, пожалуйста, кто прав?
В нашей методичке про строго-типизированные хелперы написано вот так: "Кроме базовых хелперов в ASP.NET MVC имеются их двойники - строго типизированные хелперы. Этот вид хелперов принимает в качестве параметра лямбда-выражение, в котором указывается то свойство модели, к которому должен быть привязан данный хелпер"
И приведён такой пример:
Строго типизированный хелпер похож на обычный, только в конце прибавляется суффикс For: LabelFor. Так как строго типизированные хелперы могут использоваться только в строго типизированных представлениях, то вначале представления указываем модель, которая будет использоваться: @model BookStore.Models.Purchase. То есть, в вызове @Html.TextBoxFor(m=>m.Person) параметр m представляет переменную модели Purchase. А лямбда-выражение m=>m.Person указывает, что данный хелпер будет генерировать текстовое поле для свойства Person. Таким образом, хелпер @Html.TextBoxFor(m=>m.Person) сгенерирует текстовое поле .
stoxx2011: Неправы оба. Предлагаю вам 2 варианта на выбор - 1) Спустить методичку в унитаз и взять документацию. 2)Смять в комок и затолкать куда нибудь ее тому кто ее вам дал... и взять документацию.
Методы с приставкой For это просто ДРУГИЕ методы. Никакого отношения к типизации они не имеют, они разворачиваются в гораздо более сложные структуры, нежели простые методы. @Html.TextBoxFor(m=>m.Person) сгенерирует текстовое поле при любых условиях и от модели и от Person это не зависит. То что написано в методичке какой-то горячечный бред, после которого хочется руки помыть.
stoxx2011: А вам на заметку - в строго-типизированном языке где все типы определяются на этапе компиляции не может возникнуть нестрого-типизированная конструкция. То что компиляция может быть сделана на лету или то что вы написали var этого не отменяет, просто тип будет определен чуть позже и не вами.