使用类型安全机制进行数据绑定时替换ASP.NET Eval

使用类型安全机制进行数据绑定时替换ASP.NET Eval,asp.net,data-binding,Asp.net,Data Binding,我期待着重构一些应用程序,有许多代码行如下所示: <asp:TemplateField HeaderText="Name"> <ItemTemplate> <%# Eval("Employee.LAST_NAME")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="First Name"> &l

我期待着重构一些应用程序,有许多代码行如下所示:

<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>


重构属性名(姓、名)时,VisualStudio当然不会在Eval中找到这些对属性的引用。所以现在,当我重构的时候,我想用类型安全+编译时可以发现的东西来替换它,以防万一将来我需要再次重构。有没有办法用更好的机制取代Eval?

Eval
是邪恶的(为什么说来话长),使用
((Employee)Container.DataItem)、LAST_NAME
((Employee)Container.DataItem)。取而代之的是FIRST_NAME
——它更快,类型安全,重构友好,避免反射等等。

Eval
是邪恶的(为什么说来话长),使用
((Employee)Container.DataItem)、LAST_NAME
((Employee)Container.DataItem).FIRST_NAME
相反-它更快、类型安全、对重构友好、避免反射等。

在下一版本的Visual Studio中,您可以执行强类型数据绑定,@grahammendick:您让我开心!在下一版本的Visual Studio中,您可以执行强类型数据绑定,@grahammendick:您让我开心!更好的是使用asp.net 4.5强类型数据绑定,就像graham mendick引用的一样。更好的做法是使用asp.net 4.5强类型数据绑定,就像graham mendick引用的一样