Классы ASP.NET MVC / Linq-to-SQL: можно ли сделать так, чтобы они выводили читаемые отображаемые имена? - PullRequest
2 голосов
/ 29 марта 2010

Если у меня есть таблица Orders с полями CustomerID, OrderID и OrderDate, то сгенерированный класс "Linq-to-SQL classes" будет называться Orders, а члены - CustomerID , OrderID и OrderDate. Пока все хорошо.

Однако, если я затем сделаю Html.LabelFor(m => m.OrderDate), сгенерированный текст будет «OrderDate» вместо «Order Order».

Я пытался использовать Order_Date в качестве имени поля, но это не сработало. Есть ли способ заставить его выводить лучшее отображаемое имя?

[Я знаю, что могу использовать аннотации данных для явного указания отображаемого имени, но я действительно не хочу делать это для всех моих классов / членов - я просто хочу, чтобы оно работало по соглашению.]

Ответы [ 3 ]

2 голосов
/ 29 марта 2010

Существует решение для ваших требований, содержащееся в ответе на этот вопрос. Asp.Net MVC 2 LabelFor Custom Text .

2 голосов
/ 29 марта 2010

Я предлагаю вам создать собственный HTML Helper для этого, что-то вроде Html.MyLabelFor.

Правила, которые будут применяться здесь, зависят от вас. Вы можете просто разделить слово по регистру.

1 голос
/ 29 марта 2010

Этот метод использует преимущества существующей архитектуры MVC 2 для размещения соглашений над всем * Для методов рендеринга вместо одного из помощников HTML и без необходимости повторно маркировать все с помощью имен свойств с разделителями.

Как "высушить" атрибуты C # в моделях и моделях представления?

По сути, ваши действия переопределяют поведение MVC 2 ConventionModelMetadataProvider по умолчанию и предоставляют вам возможности для вставки ваших собственных условных соглашений.

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