这是更好的方法和好处的问题。在开发一些数据驱动的控件和页面时,像中继器这样的东西,我会陷入困境。数据绑定控件在线或代码隐藏
我是否创建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 vs Inline: pros, cons and overhead)没有很多答案和令人信服的细节。
我总是发现将尽可能少的内联代码放入页面会更容易,以便将所有代码分组在代码隐藏(我认为属于的地方)。这样我发现我不得不稍后搜索代码。此外,页面上没有智能支持(但可能是错误的,因为很久以前,ASP.NET对我来说已变得很朦胧......),这使得内联更加难以先行。 –
你最喜欢的方法是什么?如果它是一个EVAL直线,我只会使用代码前端。但是有时需要更多的逻辑,并且后面的代码是最好的/唯一的方法。 – MikeSmithDev
@ user643192 - 它确实有一些Intellisense(至少VS2010),我倾向于同样的方法 - 但每个控件的绑定方法在某些页面上看起来非常混乱 –