asp.net еще одна панель обновления не работает - PullRequest
0 голосов
/ 29 ноября 2011

Я добавил 3 панели обновления на странице aspx. Две панели обновления включают в себя gridview. И я делаю gridview paging.two кнопки заполняют эти gridviews при нажатии. Я устанавливаю оба из них триггеры и условное состояние. Третья панель обновления включает в себя текстовое поле. И я устанавливаю режим обновления. условно, срабатывает третья кнопка.

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

<asp:UpdatePanel ID="UpdatePanelWorkFLow" runat="server">
    <%--<Triggers>
    <asp:PostBackTrigger ControlID="btnGenerate" />
    </Triggers>--%>
    <ContentTemplate>
        <asp:GridView ID="GridWorkFlow" runat="server" AllowPaging="True" AutoGenerateColumns="False"
            EnableSortingAndPagingCallbacks="false" CellPadding="4" ForeColor="#333333" GridLines="None"
            OnPageIndexChanging="GridWorkFlow_PageIndexChanging">
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <Columns>
                <asp:TemplateField ShowHeader="true" HeaderText="Seç">
                    <ItemTemplate>
                        <asp:CheckBox ID="checkWorkFlow" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField Visible="False">
                    <ItemTemplate>
                        <asp:Label ID="labelWorkFlowId" runat="server" Text='<%# Eval("WorkFlowId")%>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="WorkFlow Adi">
                    <ItemTemplate>
                        <asp:Label ID="labelWorkFlowName" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Birincil Entity Adi">
                    <ItemTemplate>
                        <asp:Label ID="labelPrimaryEntity" runat="server" Text='<%# Bind("PrimaryEntity") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField Visible="true" HeaderText="Durum Açiklamasi">
                    <ItemTemplate>
                        <asp:Label ID="labelWorkFlowStaus" runat="server" Text='<%#  GetStatusCodeText(DataBinder.Eval(Container.DataItem,"StatusCode"))%>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <EditRowStyle BackColor="#999999" />
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
        </asp:GridView>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnWorkFLow" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

мой код пейджинговой сетки

    WorkFlowDataBind();
    GridWorkFlow.PageIndex = e.NewPageIndex;
    GridWorkFlow.DataBind();

мой третий код кнопки

    string userQueryId = GetUserQueryId();
    string userqueryName = GetUserQueryName();
    string workFlowId = GetWorkFlowId();
    string primaryEntityName = GetWorkFlowPrimaryEntity();
    GetWorkFlowName();

моя одна и вторая кнопка при нажатии загрузить сетку вида

    Datatable dtUserQuery=GetDataTable();
    GridUserQuery.DataSource = dtUserQuery;
    GridUserQuery.DataBind()

Как я могу это исправить.

1 Ответ

0 голосов
/ 12 декабря 2011

Логика есть .. Если на одной странице имеется одна или несколько панелей обновлений, свойства всех панелей обновлений должны быть такими же, как если бы данные панели обновлений зависели друг от друга

Update Mode : Always
EnableViewState : true(if you are using it)

Или вы можете явно обновить панель «Обновление» при условном режиме

Допустим, у вас есть две панели обновления, такие как up1 и up2. Вы поместили ярлык в up1, а другая форма или кнопка была помещена в up2. Теперь на событии click в up2, метка, помещенная в up1, должна обновляться без загрузки полной страницы. Установить следующие вещи

  1. Set EnableParitialRendering = 'True' (диспетчер скриптов)

  2. Установить режим обновления: условный (up1)

  3. Установить режим обновления: всегда (up2). Все настройки сделаны здесь. Нажав кнопку в up2, сделайте свою работу и вызовите up1.Update (); Вот и все.

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