C# 单击下拉菜单后,整个页面将刷新

C# 单击下拉菜单后,整个页面将刷新,c#,asp.net,.net,C#,Asp.net,.net,我在更新面板中有一个gridview、文本框和下拉列表,它工作得很好,但问题是当我单击任何下拉列表时,它会将整个页面回滚到顶部并刷新,为什么 代码: autopostback=true语句导致这种情况发生。这是必需的,因为您希望在更新下拉列表后运行服务器端事件。如果要防止回发,从而防止页面刷新,则应删除autopostback=true语句。这样做将防止抛出“OnSelectedIndexChanged”事件。为了解决这个问题,您可以为这个事件创建一个javascript客户端函数 服务器端事件

我在更新面板中有一个gridview、文本框和下拉列表,它工作得很好,但问题是当我单击任何下拉列表时,它会将整个页面回滚到顶部并刷新,为什么

代码:


autopostback=true语句导致这种情况发生。这是必需的,因为您希望在更新下拉列表后运行服务器端事件。如果要防止回发,从而防止页面刷新,则应删除autopostback=true语句。这样做将防止抛出“OnSelectedIndexChanged”事件。为了解决这个问题,您可以为这个事件创建一个javascript客户端函数


服务器端事件和客户端事件是两种不同类型的事件。如果您知道这意味着什么,您应该对此进行一些研究。

将更新模式设置为包含DropDownList的更新面板的条件,并将ChildrenAsTriggers=false。如果您正在更新dropdownlist ChildrenAsTriggers=false中的任何值,则不会刷新页面。

请检查您的下拉列表属性。如果autopostback为true,将其更改为false,您可以在代码中看到这一点,而不是询问我。更改为AutoPostBack=false更改为AutoPostBack=false
 <asp:UpdatePanel ID="updGridViewSMS" runat="server" UpdateMode="Conditional">
      <ContentTemplate>
        <label><b>Search By Date Range</b></label>
        <asp:Label ID="lblDateFrom" runat="server" Text="From"></asp:Label>
        <asp:TextBox ID="txtFromDate" runat="server" ></asp:TextBox>                      
        <asp:CalendarExtender ID="CalendarExtenderFromDate" Format="dd/MMM/yyyy" TargetControlID="txtFromDate" runat="server">
        </asp:CalendarExtender>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" 
                            ControlToValidate="txtFromDate" Display="None" ErrorMessage="" 
                            ForeColor="Red" >
        </asp:RequiredFieldValidator>
        <asp:Label ID="lblDateTo" runat="server" Text="To"></asp:Label>
        <asp:TextBox ID="txtToDate" runat="server"></asp:TextBox>
        <asp:CalendarExtender ID="CalendarExtenderToDate" Format="dd/MMM/yyyy" TargetControlID="txtToDate" runat="server">
        </asp:CalendarExtender>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" 
                            ControlToValidate="txtToDate" Display="None" ErrorMessage="" 
                            ForeColor="Red" >
        </asp:RequiredFieldValidator>
        <asp:Button ID="btnSearchByDate"  CssClass="btn btn-success" runat="server" Text="Search" 
                    ClientIDMode="Static"  OnClick="btnSearchByDate_Click" />
        <asp:ValidationSummary
         HeaderText="Requires Date Range:"
         DisplayMode="SingleParagraph"
         EnableClientScript="true"
         ForeColor="Red"
         runat="server" ID="ValidationSummary1"/>
       <label runat="server" id="lblSelectionMessage" style="color:navy; font-size:12px; font-style:italic" visible="false">
           Please select one validity dropdown at a time
       </label>
       <asp:GridView ID="GridViewSmsComplaints" AllowPaging="True" PageSize="5" runat="server" AutoGenerateColumns="False" CssClass="mGrid" BorderColor="#333333"  Width="650px" OnRowDataBound="GridViewSmsComplaints_RowDataBound" OnPageIndexChanging="GridViewSmsComplaints_PageIndexChanging" >
           <Columns>
                <asp:BoundField HeaderText="Sms ID" DataField="ID" /> 
                <asp:BoundField HeaderText="Recieving Date" DataField="RecievingDate" />  
                <%--<asp:BoundField HeaderText="ToMobileNo" DataField="ToMobileNo" />  --%>
                <asp:BoundField HeaderText="Incoming No" DataField="FromMobileNo" /> 
                <asp:BoundField HeaderText="Complaint" DataField="Message" >   
                 <ItemStyle Wrap="True" />
                </asp:BoundField>
                <asp:TemplateField HeaderText="Is Valid?">
                 <ItemTemplate>
                   <%--<asp:CheckBox ID="ckboxIsComplaint"  runat="server" />--%>
                   <asp:DropDownList ID="ddlIsComplaint" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlIsComplaint_SelectedIndexChanged">
                    <asp:ListItem Text="-Select-" Value="-1"></asp:ListItem>
                    <asp:ListItem Text="Invalid" Value="0"></asp:ListItem>
                    <asp:ListItem Text="Valid" Value="1"></asp:ListItem>
                   </asp:DropDownList>
                 </ItemTemplate>
                </asp:TemplateField>
           </Columns>
        </asp:GridView>    

    <br />
  <asp:Panel ID="pnlBoxesDropDowns" runat="server">
    <label>Complainant</label>
    <asp:TextBox ID="txtComplainant" runat="server" CssClass="textField_width"></asp:TextBox>
    <asp:RequiredFieldValidator ID="ReqFieldValdiatorComplainant" runat="server" ControlToValidate="txtComplainant" ErrorMessage="Complainant is Required" ForeColor="Red" SetFocusOnError="True" ValidationGroup="Complaints">Complainant is Required
    </asp:RequiredFieldValidator>
    <label style="width:400px">Region</label>
    <asp:DropDownList ID="ddlRegions" runat="server" CssClass="DropDown_Width" Width="147px" OnSelectedIndexChanged="ddlRegions_SelectedIndexChanged" AppendDataBoundItems="True"  AutoPostBack="true" >
      <asp:ListItem Value="-1" Selected="True">-Select-</asp:ListItem>
    </asp:DropDownList>
    <asp:RequiredFieldValidator ID="ReqFieldValidatorRegions" runat="server" 
     ControlToValidate="ddlRegions" ErrorMessage="Region is Required" InitialValue="-1"
     ForeColor="Red" ValidationGroup="Complaints">Region is Required</asp:RequiredFieldValidator>
    <label style="width:400px">District</label>
    <asp:DropDownList ID="ddlDistricts" runat="server" CssClass="DropDown_Width" Width="147px" OnSelectedIndexChanged="ddlDistricts_SelectedIndexChanged" AutoPostBack="true">
    </asp:DropDownList>
    <asp:RequiredFieldValidator ID="ReqFieldValidatorDistricts" runat="server" 
     ControlToValidate="ddlDistricts" ErrorMessage="Region is Required" InitialValue="-1"
     ForeColor="Red" ValidationGroup="Complaints">District is Required</asp:RequiredFieldValidator>
    <label>PoliceStations</label>
    <asp:DropDownList ID="ddlPoliceStations" runat="server" Width="147px" CssClass="DropDown_Width">
    </asp:DropDownList>
    <asp:RequiredFieldValidator ID="ReqFieldValidatorPoliceStations" runat="server" 
     ControlToValidate="ddlPoliceStations" ErrorMessage="Police Station is Required" InitialValue="-1"
     ForeColor="Red" ValidationGroup="Complaints">Police Station is Required</asp:RequiredFieldValidator>
    <label>Priority</label>
    <asp:DropDownList ID="ddlPriority" runat="server">
        <asp:ListItem Text="Top" Value="1"></asp:ListItem>
        <asp:ListItem Text="Normal" Value="2"></asp:ListItem>
    </asp:DropDownList>
  </asp:Panel>
    <br />
    <br />
        <asp:Timer runat="server" Interval="60000" ID="RefreshSmsComplaints" OnTick="RefreshSmsComplaints_Tick" />
      </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="RefreshSmsComplaints" EventName="Tick" />
        </Triggers>
     </asp:UpdatePanel>
    <asp:Button ID="btnSendSms" ValidationGroup="Complaints"  runat="server" CssClass="btn btn-success"  
        OnClick="btnSendSms_Click" Text="Send Sms" />
    <asp:Button ID="btnGenerateReport"  CssClass="btn btn-success" runat="server" Text="Generate Report" 
                    ClientIDMode="Static" OnClick="btnGenerateReport_Click" />