<%: Html.EditorFor(model => model.date)%>
Как я могу заставить этот код отображать пустое текстовое поле при загрузке? Model.date не имеет значения NULL, поэтому всегда отображается непустое значение. Как я могу заставить его начать с пустого значения?EditorFor (date): Как отобразить пустое текстовое поле?
Примечание: я не хочу, чтобы оно было равно нулю, потому что в реальном коде оно привязано к свойству модели, которое должно иметь значение (BTW, у меня есть аннотация для данных Required
для этого свойства). Не имеет смысла сделать его нулевым. Замена его на дату по умолчанию, такую как сегодняшняя, не является вариантом ни потому, что в этом случае необходимо убедиться, что пользователь не забыл активно указать дату.
TIA.
Джон, спасибо за Ваш ответ. Тем не менее, слишком далеко от принципа «разделения проблем». – 2010-11-29 14:16:09
Я не уверен, что это так, но я тоже не знаю ваше приложение! Я рассматриваю это как проблему пользовательского интерфейса, вы хотите, чтобы определенное поле пользовательского интерфейса было пустым, а не заполнено при загрузке. Это может быть выполнено на стороне сервера, будь то доступ к данным или бизнес-логика (мне нравятся идеи модели представления) или уровень представления клиента (используя вышеуказанный jquery). Что касается SoC, вы не завершаете какую-либо логику доступа к бизнесу или доступу к данным в своем слое презентации, просто изменяя способ отображения поля, хорошо вписываясь в уровень представления imo. Но это моя интерпретация, а не ваша =) – JonVD 2010-11-29 23:10:56
моя промежуточная точка заключается в том, что вы добавляете идентификатор div и некоторый код на стороне клиента для исправления проблемы на стороне сервера. – 2010-12-01 16:26:17