2012-06-05 2 views
1

Я с нетерпением жду, чтобы реорганизовать некоторые части приложения, и есть много строк кода, которые выглядят так:Заменить ASP .NET Eval, когда связывание данных с типобезопасный механизм

<asp:TemplateField HeaderText="Name"> 
    <ItemTemplate> 
     <%# Eval("Employee.LAST_NAME")%> 
    </ItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText="First Name"> 
    <ItemTemplate> 
     <%# Eval("Employee.FIRST_NAME")%> 
    </ItemTemplate> 
</asp:TemplateField> 

Когда рефакторинга имена свойств (LAST_NAME, FIRST_NAME). Visual Studio, конечно, не находит эти ссылки на свойства в Eval. Итак, теперь, когда я рефакторинг хотел бы заменить его чем-то безопасным по типу +, что можно заметить во время компиляции, на всякий случай в будущем мне нужно будет снова реорганизовать. Есть ли способ заменить Eval лучшим механизмом?

+1

В следующей версии Visual Studio, вы можете сделать строго типизированные привязки данных, http://www.asp.net/vnext/overview/whitepapers/whats-new#_Toc318097385 –

+0

@grahammendick: Ты просто сделал мой день! –

ответ

4

Eval зло (почему это длинная история), использовать ((Employee)Container.DataItem).LAST_NAME и ((Employee)Container.DataItem).FIRST_NAME вместо этого - это быстрее, типа сейф, реорганизовать дружелюбными, избегает отражений и т.д. ...

+0

еще лучше использовать привязку привязки данных asp.net 4.5, точно так же, как graham mendick refer –

+0

@LuisFilipe: вы правы, но во время моего ответа он все еще находился в бета-версии ... –

+0

Тем не менее, я проголосовал ваш вопрос :) –

Смежные вопросы