【问题标题】:how to use multiple updatepanels in same aspx page如何在同一个 aspx 页面中使用多个更新面板
【发布时间】:2014-05-06 14:27:25
【问题描述】:

我有一个注册向导页面,并使用了一些下拉列表。我已经添加了脚本管理器,并且为此使用了更新面板。但只有第一个更新面板正常工作,我无法从其他更新面板的下拉列表中获取选定的值。当我将这些下拉列表插入第一个更新面板时,我可以获取这些下拉列表的值。为什么会这样?我该怎么办?

我的第一个正常工作的更新面板:

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
      <ContentTemplate>
          <div class="control-group">
               <label for="Il" class="control-label">İl</label>
               <div class="controls">
                 <asp:DropDownList class="ui-wizard-content" runat="server" name="City" ID="ddlCity" data-rule-required="true" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged">
                    <asp:ListItem Text="İl Seçiniz" Value="" />                                                        
                 </asp:DropDownList>
               </div>
         </div>
         <div class="control-group">
            <label for="Ilce" class="control-label">İlçe</label>
               <div class="controls">
                  <asp:DropDownList class="ui-wizard-content" runat="server" name="District" ID="ddlDistrict" data-rule-required="true" AppendDataBoundItems="true">
                       <asp:ListItem Text="İlçe Seçiniz" Value="" />
                  </asp:DropDownList>
               </div>
         </div>
       </ContentTemplate>
         <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlCity" EventName="SelectedIndexChanged" />
         </Triggers>
    </asp:UpdatePanel> 

我的所有 aspx 页面:

<body>  
    <div class="container-fluid" id="content">
        <div class="row-fluid">
<div class="span8">
    <div class="box">
        <div class="box-title">
            <h3>
                <i class="icon-magic"></i>
                Bireysel Müşteri Hesap Açma Formu
            </h3>
        </div>
        <div class="box-content">
            <form runat="server" novalidate="novalidate" class="form-horizontal form-wizard ui-formwizard" id="Form1">
                <asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server">
                </asp:ScriptManager>

                <div style="display: block;" class="step ui-formwizard-content" id="Div3"...>...</div>
                <div style="display: none;" class="step ui-formwizard-content" id="Div4">
                    <ul class="wizard-steps steps-4">...</ul>
                    <div class="step-forms">
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>

                    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                        <ContentTemplate>
                            <div class="control-group">
                                <label for="Il" class="control-label">İl</label>
                                <div class="controls">
                                    <asp:DropDownList class="ui-wizard-content" runat="server" name="City" ID="ddlCity" data-rule-required="true" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged">
                                        <asp:ListItem Text="İl Seçiniz" Value="" />                                                        
                                    </asp:DropDownList>
                                </div>
                            </div>

                            <div class="control-group">
                                <label for="Ilce" class="control-label">İlçe</label>
                                <div class="controls">
                                    <asp:DropDownList class="ui-wizard-content" runat="server" name="District" ID="ddlDistrict" data-rule-required="true" AppendDataBoundItems="true">
                                        <asp:ListItem Text="İlçe Seçiniz" Value="" />
                                    </asp:DropDownList>
                                </div>
                            </div>
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="ddlCity" EventName="SelectedIndexChanged" />
                        </Triggers>
                    </asp:UpdatePanel> 

                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    </div>
                </div>
                <div style="display: none;" class="step ui-formwizard-content" id="Div5">
                    <ul class="wizard-steps steps-4">...</ul>
                    <div class="step-forms">
                    <div class="control-group">...</div>

                    <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="ddlHizmetSecimi" EventName="SelectedIndexChanged"/>
                        </Triggers>
                        <ContentTemplate>

                            <div class="control-group">
                                <label for="HizmetSecimi" class="control-label">Hizmet Seçimi</label>
                                <div class="controls">
                                    <asp:DropDownList class="ui-wizard-content" name="HizmetSecimi" runat="server" ID="ddlHizmetSecimi" data-rule-required="true" AppendDataBoundItems="true" OnSelectedIndexChanged="ddlHizmetSecimi_SelectedIndexChanged" AutoPostBack="true">
                                        <asp:ListItem Text="Lütfen Seçiniz" Value="" />
                                    </asp:DropDownList>
                                </div>
                            </div>

                            <div class="control-group">
                                <label for="TarifeSecimi" class="control-label">Tarife Seçimi</label>
                                <div class="controls">
                                    <asp:DropDownList class="ui-wizard-content" runat="server" name="TarifeSecimi" ID="ddlTarifeSecimi" data-rule-required="true" AppendDataBoundItems="true" Enabled="false">
                                        <asp:ListItem Text="Lütfen Seçiniz" Value="" /> 
                                    </asp:DropDownList>
                                </div>
                            </div>
                            <div class="control-group">
                                <asp:Label for="PaketSecimi" Visible="false" id="lblPaket"  class="control-label" runat="server" Text="Paket Seçimi"></asp:Label>
                                <div class="controls">
                                    <asp:DropDownList class="ui-wizard-content" runat="server" name="PaketSecimi" ID="ddlPaketSecimi" data-rule-required="true" AppendDataBoundItems="true" sty Visible="false">
                                        <asp:ListItem Text="Seçiniz" Value="" />
                                    </asp:DropDownList>
                                </div>
                            </div>



                        </ContentTemplate>
                    </asp:UpdatePanel>

                    <div class="control-group">...</div>


                    <asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional">...</asp:UpdatePanel>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    <div class="control-group">...</div>
                    </div>
                </div>

                <div style="display: none;" class="step ui-formwizard-content" id="fourthstep"...>...</div>
                <div class="form-actions">...</div>
            </form>
        </div>
    </div>
</div>
                </div>
        </div>
</body>

请帮忙。提前致谢

【问题讨论】:

  • 为什么不呢?会发生什么?
  • 例如:在代码隐藏中,ddlTarifeSecimi.SelectedValue 返回“”。这不能从相关下拉列表中选择值。
  • 也许您没有设置 AutoPostBack 属性。如果您设置 AutoPostBack = false 也可以使用 JavaScript,这很简单
  • @DJKRAZE 你能举个例子吗?我在哪里可以设置 AutoPostBack 属性?

标签: c# asp.net triggers asp.net-ajax updatepanel


【解决方案1】:

将每个下拉列表的 autopostback 属性设置为 true

作为

    AutoPostBack="true" 

您只将它用于第一个下拉列表,对其他人也一样。

<asp:DropDownList class="ui-wizard-content" name="HizmetSecimi" runat="server" ID="ddlHizmetSecimi" data-rule-required="true" AppendDataBoundItems="true" OnSelectedIndexChanged="ddlHizmetSecimi_SelectedIndexChanged" AutoPostBack="true">
     <asp:ListItem Text="Lütfen Seçiniz" Value="" />
 </asp:DropDownList>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2014-03-07
    • 2016-10-22
    • 1970-01-01
    • 2011-12-08
    • 2011-08-04
    相关资源
    最近更新 更多