встроенный код в свойствах элемента управления сервером - PullRequest
1 голос
/ 18 августа 2011

У меня есть публичное свойство POCO (SiteDetail) на моей странице, и мне нужно знать, каков наилучший подход при настройке свойств серверных элементов управления:

  1. Использовать встроенный код и Page.DataBind();при загрузке

    <asp:Label ID="lbName" runat="server" Text="<%# SiteDetail.Name %>"/>

  2. Не использовать встроенный код и задавать свойства управления при загрузке страницы

    lbName.Text = SiteDetail.Name;

Опасно ли использовать Page.DataBind() под нагрузкой?

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Вы видели визуализированный источник? Там нет никакой разницы вообще. Обе метки будут отображать текст в диапазоне. Просто проведите простой тест, и он будет вам понятен.

вот что у меня есть для теста

<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>

Вы не увидите никакой разницы

0 голосов
/ 19 августа 2011

Итак ... Я провел еще какое-то исследование и обнаружил, что Page.DataBind() не очень хорошая вещь, лучше вызывать DabaBind для каждого необходимого элемента управления, как говорит @Muhammad Akhtar, оба способа визуализации одинаковы, поэтому я предпочитаюиспользуйте встроенный код, потому что он кажется более понятным, теперь у меня есть

<asp:Label ID="lbName" runat="server" Text="<%# SiteDetail.Name %>"/>

и код позади:

if (!IsPostBack)
{
        lbName.DataBind();
}
...