保留Web用户控件以回发整个webform的方法是什么

时间:2014-11-20 08:15:15

标签: asp.net webforms autopostback webusercontrol

在我的ASP.NET Web项目中,我使用Web表单中的Web用户控件为Web表单中的数据生成插入/更新/删除操作。

<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事件;当发生这种情况时,我只希望我的用户控件回发,但我的网络表单回发和用户控件已关闭。

我不希望webform回发,我只想要用户控制。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

请阅读AJAX overview,您还可以阅读ScriptManagerUpdatePanel。使用UpdatePanel,您可以实现问题中描述的功能。

答案 1 :(得分:0)

在用户控件更新面板上,确保您有childrenastriggers = true。并在脚本管理器声明(在您的主页面中)确保您已选择enablepartialupdates。

如果它还在强制发回一个完整的帖子,那么你很可能在页面的某个地方有一些iffy html。