Это сложная дилемма для проработки любого проекта веб-форм.У вас есть два варианта логики условного форматирования - на самой странице (теперь вы должны продублировать ее по всему сайту) или в некотором коде, как вы делаете.Также не существует хороших вариантов с точки зрения разделения интересов, это известный недостаток модели веб-форм ASP.Net.
Лично я бы превратил ваше представление в пользовательский веб-элемент управления .ascx, содержащий элемент управления FormView ипривязать его к объекту обертки вашей квартиры.Примерно так:
<asp:FormView ID="FormView1"
DataSourceID="ObjectDataSource1"
RunAt="server">
<ItemTemplate>
<table>
<tr>
<td align="right"><b>Rent:</b></td>
<td><%# Eval("Rent") %></td>
</tr>
<tr>
<td align="right"><b>BedsBathsSqFt:</b></td>
<td><%# Eval("BedsBathsSqFt") %></td>
</tr>
</table>
</ItemTemplate>
</asp:FormView>
Пусть .ascx предоставляет свойство DataSource, чтобы его можно было установить на странице, которая его использует.
Если бы привязка данных была более гибкой с условными выражениями, вы могли бы сделатьпрочь с оберткой квартиры объекта и встраивать условия непосредственно в пользовательский контроль.Хотя со сложностью ваших свойств, это, вероятно, будет большой головной болью.Однако вы можете посмотреть на что-то вроде этого , где люди пытались обойти эти ограничения.