Помогает ли наличие более сфокусированных обновленных панелей по сравнению с одной большой универсальной панелью обновлений по всей странице? - PullRequest
1 голос
/ 08 июля 2011

Помогает ли более сфокусированный элемент управления UpdatePanels из-за меньшего количества элементов по сравнению с одной большой универсальной панелью обновления UpdatePanel по всей странице? В чем преимущество такой вещи?

Ответы [ 2 ]

2 голосов
/ 09 июля 2011

Наличие отдельных UpdatePanels позволит вам обновлять отдельные области страницы, что приведет к меньшему количеству нисходящего потока и потенциально меньшей работе на стороне сервера.

Например. Если у вас есть страница с Label, окруженным UpdatePanel, вместе с GridView, окруженным UpdatePanel, вы можете добавить Timer, который отправляет сообщение на сервер каждые 5 секунд и обновляет Метка для текущего DateTime. При этом вам не нужно будет повторно привязывать свою сетку на стороне сервера, потому что содержимое сетки не участвует в последующем ответе.

Результат будет следующим: связать метку и сетку по первому запросу. Обновить только метку на каждом таймере таймера.

РЕДАКТИРОВАТЬ: Пример добавлен.

Markup:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Timer ID="Timer1" runat="server" Interval="5000" ontick="Timer1_Tick">
        </asp:Timer>
        <asp:Label ID="Label1" runat="server"></asp:Label>
    </ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:GridView ID="GridView1" runat="server"></asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

CodeBehind:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //Bind Grid, only on first load
    }
}

protected void Timer1_Tick(object sender, EventArgs e)
{
    Label1.Text = DateTime.Now.ToString();  //Set label
    UpdatePanel1.Update();  //Update only Label's update panel
}
0 голосов
/ 09 июля 2011

Имейте в виду, что UpdatePanel сообщает только движку, какой элемент управления необходимо перерисовать; весь жизненный цикл страницы все еще происходит .

Это не исключает преимущества перерисовки меньших элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...