這是更好的方法和好處的問題。在開發一些數據驅動的控件和頁面時,像中繼器這樣的東西,我會陷入困境。數據綁定控件在線或代碼隱藏
我是否創建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),我傾向於同樣的方法 - 但每個控件的綁定方法在某些頁面上看起來非常混亂 –