这更多的是首选方法和任何一种方法的好处的问题。在开发一些数据驱动的控件和带有Repeaters之类的页面时,我陷入了僵局。
我是否创建 ASP.NET 标记(标签等)并将它们内嵌绑定?
<asp:Label ID="companyName" runat="server" Text="<%# ((BillToCustomer)Container.DataItem).CompanyName %>" />
还是将 .aspx/.ascx 文件保留为普通标记并将所有逻辑放在代码隐藏中更好?
<asp:Label ID="companyName" runat="server" ondatabinding="companyName_DataBinding"/>
protected void legCustomerName_DataBinding(object sender, EventArgs e)
{
((Label)sender).Text = ((BillToCustomer)Page.GetDataItem()).CompanyName;
}
我可以为任何一种选择争论到死,但在我采用一种方法之前,我想知道所有的事实和观点。
我能找到讨论这个问题的唯一资源(OnDataBinding 与 Inline:优点、缺点和开销)并没有太多令人信服的细节答案。