我有我的網頁上公開POCO屬性(SiteDetail),我需要知道設置服務器控件的屬性時,什麼是最好的辦法:內嵌代碼
使用內嵌代碼和頁面。的DataBind();負載
<asp:Label ID="lbName" runat="server" Text="<%# SiteDetail.Name %>"/
>不要使用內嵌代碼,並在頁面加載
lbName.Text = SiteDetail.Name;
設置控件的屬性是它的 「危險」,使用負載Page.DataBind()
?
我有我的網頁上公開POCO屬性(SiteDetail),我需要知道設置服務器控件的屬性時,什麼是最好的辦法:內嵌代碼
使用內嵌代碼和頁面。的DataBind();負載
<asp:Label ID="lbName" runat="server" Text="<%# SiteDetail.Name %>"/
>
不要使用內嵌代碼,並在頁面加載
lbName.Text = SiteDetail.Name;
設置控件的屬性是它的 「危險」,使用負載Page.DataBind()
?
沒有區別所以......我做了一些調查研究,發現Page.DataBind()
是不是一件好事,不如叫DabaBind你需要每一個控制,如@穆罕默德說阿赫塔爾,兩種方式呈現相同的,所以我更喜歡,因爲它似乎更清晰的使用內嵌代碼,現在我有
<asp:Label ID="lbName" runat="server" Text="<%# SiteDetail.Name %>"/>
和後面的代碼:
if (!IsPostBack)
{
lbName.DataBind();
}
您是否看到呈現的源代碼?完全沒有區別。兩個標籤都會在span中呈現文本。只需執行一個簡單的測試,它就會很清楚。
這裏是我有一個測試
<asp:Label ID="Label1" runat="server" Text='<%#test %>'></asp:Label>
<asp:Label ID="Label2" runat="server"></asp:Label>
這裏以下,則將產生源。
<span id="Label1">this text is from binding expression</span>
<span id="Label2"><br/>this text set from code behind</span>
你會看到在所有
是的,是相同的渲染,我喜歡使用內聯代碼,因爲它看起來更清晰,請參閱下面的答案,並且比你;) – Milox
你可以給我參考,你發現,調用Page.DataBind()不好? –
當然,這裏是http://aspalliance.com/1533_ASPNET_Performance_Tips.14 – Milox
.hmm,這是一個調用Page.DataBind()方法的問題,但是如果你通過標籤調用databind方法標籤,那又是恐慌。這樣,你必須綁定然後調用數據綁定方法。但是如果你在後面的代碼中分配文本屬性,你必須在一個地方做,而且代碼更易讀,錯誤的機會也更小。 –