ASP.Net MVC - нулевые объекты в представлениях - PullRequest
4 голосов
/ 24 марта 2009

Я ищу чистый способ обработки нулевых ссылок на объекты в классе модели LINQ to SQL, когда они передаются в представление.

Простой пример.

Таблица A имеет FK в TableB. Отношение FK может существовать или не существовать для любой строки в таблице A.

Мои классы LINQ to SQL выражают эту связь как ClassA.ClassB.Property, но в некоторых случаях ClassA.ClassB является нулевым объектом из-за нулевого внешнего ключа

Я хочу перечислить ClassA.Property и ClassA.ClassB.Property в таблице в представлении

Пока код моего вида выглядит как

<td>
    <% if ((classA.classB) != null) { %>
        <%= Html.Encode(classA.classB.Property)%>
    <% } %>
</td>

Есть ли более чистый способ сделать это в View?

Я пытался

<td>
    <%= Html.Encode(classA.classB.Property ?? "")%>
</td>

Но это не сработает, поскольку нулевое значение - это не "Свойство", а "класс B".

Я новичок во всем, что касается MVC, но вид кажется подходящим местом для выбора способа обработки отображения нулевых значений.

Ответы [ 2 ]

5 голосов
/ 24 марта 2009

<% = Html.Encode (classA.classB! = Null? ClassA.classB.Property: "")%>

2 голосов
/ 17 февраля 2010

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

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