1

我期待重构一些应用程序,并且有很多行代码看起来像这样:

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

4

1 回答 1

4

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

于 2012-06-05T09:51:27.693 回答