Введите имя атрибута в бритве - PullRequest
1 голос
/ 10 октября 2011

Я пытаюсь преобразовать следующий атрибут входного имени в MVC2 в эквивалент в бритве.

name="<%=ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty)%>.Day"

В бритве я использую

name="@ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty).Day"

но он жалуется, потому что говорит, что «строка» не содержит определения для «День» и не может быть найден метод расширения «День», принимающий первый аргумент типа «строка» ».Свойство является свойством datetime, и вышеперечисленное работает в MVC2.

Любая помощь очень ценится.

Ответы [ 3 ]

3 голосов
/ 10 октября 2011

@(ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty)).Day

обратите внимание на () вокруг основной части вызова метода.Это говорит синтаксическому анализатору включать только те элементы в этих (), которые должны быть скомпилированы.Все остальное игнорируется.Причина, по которой это необходимо, заключается в том, что часть .Day вашего фрагмента выглядит как вызов свойства для компилятора и обрабатывается как таковая.

0 голосов
/ 10 октября 2011

Используйте следующее:

name="@(ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty) + ".Day")"
0 голосов
/ 10 октября 2011

Посмотрите, работает ли это: @ViewData.TemplateInfo.GetFullHtmlFieldName("Day")

С другой стороны, что вы пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...