为什么下拉列表在AutopostBack为true时默认选择第一个值? [英] Why dropdown list select first value by default when AutopostBack is true?

查看:48
本文介绍了为什么下拉列表在AutopostBack为true时默认选择第一个值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个下拉列表,并且两个的AutoPostBack属性都设置为true第二个下拉列表绑定第一个下拉列表的选定索引更改事件,我想在第二个下拉列表的选定索引更改事件上显示网格但是当我尝试从第二个下拉列表中选择项目,默认下拉列表每次选择第一个项目,我在主页面工作,所以请给我解决方案。

I have two drop down list and both's AutoPostBack property is set to true second dropdown list bind on selected index changed event of first dropdown list and i want to show grid on selected index changed event of second dropdown list but when i am trying select item from second dropdownlist that dropdown by default select first item every time and i am working in master page so please give me solution for that.

推荐答案

1.Because控件有 AutoPostBack 属性为true,当你在其中任何一个中选择一个新项时生成 Postback 并生成每个类型整个页面被发送到Web服务器并执行页面事件( PreInit Init 加载等)。因此,可能在您的 Page_Load 事件中,您的控件将重新填充数据,并且第一个索引被选为默认值。



2.为了解决这个问题,你应该只在第一次使用init部分(如果页面没有回发),如下一个例子所示:

1.Because your controls have AutoPostBack property on true, every type when you select a new item in any of them a Postback is generated and the entire page is sent to the web server and there the page events are executed (PreInit, Init, Load, etc). So maybe in your Page_Load event your controls are refilled with data and the first index is selected as default.

2.In order to solve this you should the the init part only first time (if the page is not post back) like in the next example:
protected void Page_Load(object sender, EventArgs e)
        {
                if (!Page.IsPostBack)
                {
                     //Here put your code for init/binding you drop down list controls!!!
                }
          }


<asp:updatepanel id="UpdatePanel1" runat="server" xmlns:asp="#unknown">
       <contenttemplate>
           <div>
               <br />
               <center>
                   <h2>
                       Bank Report</h2>
               </center>
               <table style="margin: 50px 0 0 25%;">
                   <tr>
                       <td>
                           <asp:label text="Partner Name" runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:dropdownlist id="ddl_Partner" runat="server" autopostback="true">
                               onselectedindexchanged="ddl_Partner_SelectedIndexChanged">
                           </asp:dropdownlist>
                       </td>
                       <td>
                           <asp:label text="Month" runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:textbox id="txt_Month" runat="server" readonly="true"> </asp:textbox>
                       </td>
                   </tr>
                   <tr>
                       <td>
                           <asp:label text="Bill No." runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <%--<editable:editabledropdownlist id="ddl_Bill" runat="server" autopostback="true" xmlns:editable="#unknown">
                               onselectedindexchanged="ddl_Bill_SelectedIndexChanged1">
                           </editable:editabledropdownlist>--%>
                           <<asp:DropDownList ID="ddl_Bill" runat="server" AutoPostBack="true" EnableViewState="true"
                               onselectedindexchanged="ddl_Bill_SelectedIndexChanged">

                       </td>
                       <td>
                           <asp:label text="Bank" runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:dropdownlist id="ddl_Bank" runat="server">
                           </asp:dropdownlist>
                       </td>
                   </tr>
                   <tr>
                       <td>
                           <asp:label text="A/C No." runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                       <asp:textbox id="txt_AccountNo" runat="server" cssclass="textbox"></asp:textbox>
                          <%-- <asp:dropdownlist id="ddl_ACCNo" runat="server">
                           </asp:dropdownlist>--%>
                       </td>
                       <td>
                           <asp:label text="Date Of Check" runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:textbox id="txt_dateCheck" runat="server" class="datepicker"></asp:textbox>
                       </td>
                   </tr>
                   <tr>
                       <td>
                           <asp:label text="Check No." runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:textbox id="txt_Check_No" runat="server"></asp:textbox>
                       </td>
                       <td>
                           <asp:label id="Label1" text="Total Amount" runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:textbox id="txt_Amount" runat="server"></asp:textbox>
                       </td>
                   </tr>
                   <tr>
                       <td>
                           <asp:label text="Enter Amount in Words" runat="server" cssclass="Label"></asp:label>
                       </td>
                       <td>
                           <asp:textbox id="txt_AmountWord" runat="server"></asp:textbox>
                       </td>
                   </tr>
               </table>
               <br />
               <center>
                   <asp:label id="lbl_msg" runat="server" cssclass="Label"></asp:label>
                   <br />
                   <asp:button id="btn_Report" cssclass="myButton" text="Show Report" runat="server">
                       OnClick="btn_Report_Click" />
               </asp:button></center>
               <div style="float: right; margin: -35px 0 0 0;">
                   <asp:button id="btn_Excel" text="Export to Excel" runat="server" cssclass="myButton" />
                   <asp:button id="btn_Word" text="Export to Word" runat="server" cssclass="myButton" />
               </div>
               <br />
           </div>
       </contenttemplate>
   </asp:updatepanel>


这篇关于为什么下拉列表在AutopostBack为true时默认选择第一个值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆