Как сохранить контроль веб-пользователя для обратной передачи всей веб-формы

В моем веб-проекте ASP.NET я использую пользовательский веб-элемент управления в веб-форме для создания операций вставки/обновления/удаления данных в веб-форме.

<asp:UpdatePanel runat="server" ID="ctlUcusUpdatePanel">

    <ContentTemplate>

        <uc1:UcusBilgileriEditor runat="server" ID="ctlUcusBilgileriEditor" />

        <%-- Here I have a grid to display data--%>

    </ContentTemplate>

</asp:UpdatePanel>

Вот мой пользовательский элемент управления:

<asp:UpdatePanel ID="ctlEditorUpdatePanel" runat="server">
    <ContentTemplate>

        <asp:Panel runat="server" ID="ctlEditorContentPanel" Visible="false">

            <div class="panel panel-primary" id="ctlUcusBilgiModal" style="position: relative; top: auto; left: auto; right: auto; margin: 0 auto 20px; z-index: 1; width: 100%; display: none">
                <div class="panel-heading">
                    <div class="panel-title">
                        <hzg:HZGLiteral runat="server" ID="ctlModalTitle"></hzg:HZGLiteral>
                    </div>
                </div>

                <div class="panel-body" style="padding: 20px 20px 2px 2px;">
                    <ul id="myTab" class="nav nav-tabs">
                        <li class="active"><a href="#general" data-toggle="tab">Genel</a></li>
                        <li class=""><a href="#other" data-toggle="tab">Uçuş Detayları</a></li>
                        <li class=""><a href="#notes" data-toggle="tab">Açıklamalar</a></li>
                    </ul>
                    <div class=tab-content>
                        <div class="form-group col-sm-1">
                                <label class="control-label" for="<%= ctlFlightMoveType.ClientID %>">
                                    <asp:Literal runat="server" ID="ctlFLightMoveLiteral" meta:resourcekey="ctlFlightMoveTypeLiteral" />
                                </label>
                                <hzg:HZGRadioButtonList ID="ctlFlightMoveType"
                                    AutoPostBack="true"
                                    CellPadding="3"
                                    RepeatColumns="5"
                                    RepeatDirection="Vertical"
                                    TextAlign="Right"
                                    runat="server"
                                    DataValueField="INISMI"
                                    EnumType="HZG.Core.Model.Enums.FlightMove"
                                    OnSelectedIndexChanged="ctlFlightMoveType_SelectedIndexChanged">
                                </hzg:HZGRadioButtonList>

                            </div>
                    </div>
                </div>
                <div class="panel-footer" style="text-align: right">
                    <hzg:HZGButton ID="ctlSaveButton" runat="server" ButtonDesign="success" ButtonSize="small" Text="Kaydet" OnClick="ctlSaveButton_Click" meta:resourcekey="ctlSaveButton" RolePermission="Admin,PowerUser,User" />
                    <hzg:HZGButton ID="ctlDeleteButton" runat="server" ButtonDesign="danger" ButtonSize="small" Text="Delete" OnClick="ctlDelete_Click" meta:resourcekey="ctlDeleteButton" OnClientClick='<%$ Resources:GlobalResource, AreYouSure%>' RolePermission="Admin,PowerUser,User" />
                    <hzg:HZGButton ID="ctlCloseButton" runat="server" ButtonDesign="primary" ButtonSize="small" Text="İptal" OnClick="ctlCloseButton_Click" meta:resourcekey="ctlCloseButton" />
                </div>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

Когда я нажимаю радиокнопку в моем RadiButtonList, запускается событие ctlFlightMoveType_SelectedIndexChanged; и когда это происходит, я хочу, чтобы только мой пользовательский элемент управления выполнял обратную передачу, но моя обратная передача веб-формы и пользовательский элемент управления закрывались.

Я не хочу, чтобы веб-форма выполняла обратную передачу, мне нужен только пользовательский контроль. Как я могу это сделать?


person alaattinonal    schedule 20.11.2014    source источник


Ответы (2)


Пожалуйста, прочтите обзор AJAX, вы также можете прочитать о ScriptManager и UpdatePanel. Используя UpdatePanel, вы можете реализовать функцию, описанную в вашем вопросе.

person Lajos Arpad    schedule 20.11.2014
comment
Я использую панель обновления. Я проверю ссылки, которые вы даете, спасибо. ‹asp:UpdatePanel ID=ctlEditorUpdatePanel runat=server› - person alaattinonal; 20.11.2014
comment
Я не мог найти решение моей проблемы. Есть ли кто-нибудь, кто может дать идею? - person alaattinonal; 20.11.2014

На панели обновления пользовательского управления убедитесь, что у вас есть childrenastriggers=true. И в объявлении диспетчера сценариев (на вашей главной странице) убедитесь, что вы выбрали enablepartialupdates.

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

person Jim    schedule 24.11.2014