我有我的网页上公开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方法标签,那又是恐慌。这样,你必须绑定然后调用数据绑定方法。但是如果你在后面的代码中分配文本属性,你必须在一个地方做,而且代码更易读,错误的机会也更小。 –