title: Replace ASP .NET Eval when data binding with type-safe mechanism
body: <p>I'm looking forward to refactor some pieces of application and there are many lines of code that look like this:</p>
  
  <pre><code>&lt;asp:TemplateField HeaderText="Name"&gt;
      &lt;ItemTemplate&gt;
          &lt;%# Eval("Employee.LAST_NAME")%&gt;
      &lt;/ItemTemplate&gt;
  &lt;/asp:TemplateField&gt;
  &lt;asp:TemplateField HeaderText="First Name"&gt;
      &lt;ItemTemplate&gt;
          &lt;%# Eval("Employee.FIRST_NAME")%&gt;
      &lt;/ItemTemplate&gt;
  &lt;/asp:TemplateField&gt;
  </code></pre>
  
  <p>When refactoring property names (LAST_NAME, FIRST_NAME) Visual Studio doesn't of course find these references to properties in Eval. So now, when I'm refactoring would like to replace it with something type-safe + something that can be spotted during compile time, just in case in the future I need to refactor once again. Is there any way to replace Eval with better mechanism?</p>