Html.TextBoxFor
нужен делегат, но вы передаете это результат вызова String.Format
String.Format
, когда передается делегат.
Вы должны поместить вызов String.Format
(или, проще, ToString
) внутри делегата:
<%: Html.TextBoxFor(model => model.IssueDate.ToString("d"), new { @class= "invoiceDate"}) %>
Но, как вы обратите внимание на ваш комментарий:
дает это исключение " Шаблоны могут использоваться только с доступом к полю, доступом к ресурсам, индексом одномерного массива или однопараметрическими выражениями пользовательского индексатора ».
Это потому, что Html.TextBoxFor
ожидает в Expression<T>
и декодирование, что для извлечения которых свойство/метод/поле вы обращаетесь. Затем он будет использовать эту информацию, чтобы позднее получить доступ к члену.
Вы можете использовать Html.TextBox
или добавить собственность к типу модели, включая форматирование.
Вы можете использовать model.IssueDate.ToString ("D")? –
nope, не работает, даже не ToShortDateString(). Предоставляет это исключение. Шаблоны могут использоваться только с доступом к полю, доступом к ресурсам, индексом одномерного массива или однопараметрическими выражениями пользовательского индексатора. " – mare
Нашел ответ на мой первоначальный вопрос о форматировании даты в текстовом поле, см. Мое решение ниже. – mare