2014-11-06 24 views
0

此表單工作正常,但每滾動一次,我都會選擇下拉框,它會滾動到頂部。爲什麼頁面滾動回選定的索引更改事件?

<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" /> 
      &nbsp; 
      <%--<asp:Button ID="btnEdit" CssClass="btn btn-success" runat="server" Text="Edit" 
         ClientIDMode="Static" OnClick="btnEdit_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"> 

      </label> 
      <asp:GridView ID="GridViewSmsComplaints" AllowPaging="True" PageSize="5" runat="server" AutoGenerateColumns="False" Width="1085px" OnRowDataBound="GridViewSmsComplaints_RowDataBound" OnPageIndexChanging="GridViewSmsComplaints_PageIndexChanging" CellPadding="4" Height="417px" ForeColor="#333333" GridLines="None" > 
       <FooterStyle BackColor="#990000" ForeColor="White" Font-Bold="True" /> 
       <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> 
       <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" /> 
      <PagerTemplate> 
      <table> 
       <tr> 
        <td> 
         <asp:LinkButton ID="lnkFirstPage" CommandName="Page" CommandArgument="First" runat="server">First</asp:LinkButton> 
        </td> 
        <td> 
         <asp:LinkButton ID="lnkNextPage" CommandName="Page" CommandArgument="Next" runat="server">Next</asp:LinkButton> 
        </td> 
        <td> 
         <asp:LinkButton ID="lnkPrevPage" CommandName="Page" CommandArgument="Prev" runat="server">Previous</asp:LinkButton> 
        </td> 
        <td> 
         <asp:LinkButton ID="lnkLastPage" CommandName="Page" CommandArgument="Last" runat="server">Last</asp:LinkButton> 
        </td> 
       </tr> 
      </table> 
     </PagerTemplate> 
       <AlternatingRowStyle BackColor="White" /> 
       <Columns> 
        <asp:BoundField HeaderText="Sms ID" DataField="ID" /> 
        <asp:BoundField HeaderText="Recieving Date" DataField="RecievingDate" /> 
        <%--<asp:BoundField HeaderText="ToMobileNo" DataField="ToMobileNo" /> --%> 
        <asp:BoundField HeaderText="Complainant Mob No." DataField="FromMobileNo" /> 
        <asp:BoundField HeaderText="Complaint" DataField="Message" > 
        <ItemStyle Wrap="True" /> 
        </asp:BoundField> 
        <asp:TemplateField HeaderText="Complete/InComplete"> 
        <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="InComplete" Value="0"></asp:ListItem> 
         <asp:ListItem Text="Complete" Value="1"></asp:ListItem> 
         <asp:ListItem Text="Inappropriate" Value="-3"></asp:ListItem> 
         </asp:DropDownList> 
        </ItemTemplate> 
        </asp:TemplateField> 
       </Columns> 
       <RowStyle ForeColor="#333333" BackColor="#FFFBD6" /> 
       <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /> 
       <SortedAscendingCellStyle BackColor="#FDF5AC" /> 
       <SortedAscendingHeaderStyle BackColor="#4D0000" /> 
       <SortedDescendingCellStyle BackColor="#FCF6C0" /> 
       <SortedDescendingHeaderStyle BackColor="#820000" /> 
      </asp:GridView>  

     <br /> 
     <asp:Panel ID="pnlBoxesDropDowns" runat="server"> 
     <label>Complainant</label> 
     <asp:TextBox ID="txtComplainant" runat="server" ></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>Relevant 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> 
     &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
     <asp:Label ID="lblRelevantDistrict" runat="server">District</asp:Label> 
     <asp:DropDownList ID="ddlDistricts" runat="server" CssClass="DropDown_Width" Width="127px" 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>Relevant P.Station</label> 
     <asp:DropDownList ID="ddlPoliceStations" AutoPostBack="true" runat="server" Width="147px" CssClass="DropDown_Width" OnSelectedIndexChanged="ddlPoliceStations_SelectedIndexChanged"> 
     </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> 
      <asp:label ID="lblPriority" runat="server">Priority</asp:label> 
      <asp:DropDownList ID="ddlPriority" runat="server" Width="127px"> 
       <asp:ListItem Text="Top" Value="1"></asp:ListItem> 
       <asp:ListItem Text="Normal" Value="2"></asp:ListItem> 
      </asp:DropDownList> 
      &nbsp; 
     </asp:Panel> 
     <br /> 
     <br /> 
      <asp:Timer runat="server" Enabled="false" Interval="240000" ID="RefreshSmsComplaints" OnTick="RefreshSmsComplaints_Tick" /> 
      </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="RefreshSmsComplaints" EventName="Tick" /> 
      </Triggers> 
     </asp:UpdatePanel> 
     <asp:Button ID="btnDone" ValidationGroup="Complaints" runat="server" CssClass="btn btn-success" 
      OnClick="btnDone_Click" Text="Done" /> 

代碼隱藏:

protected void ddlRegions_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     //Loads Districts Drop Down List When Relevant Region is Clicked 
     ddlDistricts.Visible = true; 
     lblRelevantDistrict.Visible = true; 
     GridViewSmsComplaints.Visible = true; 

     try 
     { 
      if (ddlDistricts.SelectedValue == "0") 
      { 
       ddlDistricts.SelectedValue = "-1"; 
      } 
      else 
      { 
       ddlDistricts.DataTextField = "Name"; 
       ddlDistricts.DataValueField = "DistrictID"; 
       ddlDistricts.DataSource = mngRecievedMsg.FillDropDown_Districts(Convert.ToInt16(ddlRegions.SelectedValue)); 
       ddlDistricts.DataBind(); 
       ListItem list = new ListItem("-Select-", "-1"); 
       ddlDistricts.Items.Insert(0, list); 
      } 
     } 
     catch (Exception) 
     { 

     } 

    } 
    protected void ddlDistricts_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     //Loads police Stations Drop Down List When Relevant Region is Clicked 

     updGridViewSMS.Visible = true; 
     try 
     { 
      if (ddlPoliceStations.SelectedValue == "0") 
      { 
       ddlPoliceStations.SelectedValue = "-1"; 
      } 
      else 
      { 
       ddlPoliceStations.DataTextField = "Name"; 
       ddlPoliceStations.DataValueField = "ID"; 
       ddlPoliceStations.DataSource = mngRecievedMsg.GetHomePoliceStation(Convert.ToInt16(ddlDistricts.SelectedValue)); 
       ddlPoliceStations.DataBind(); 
       ListItem list_2 = new ListItem("-Select-", "-1"); 
       ddlPoliceStations.Items.Insert(0, list_2); 
      } 
     } 
     catch (Exception) 
     { 

     } 


    } 

    protected void ddlPoliceStations_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     lblPriority.Visible = true; 
     ddlPriority.Visible = true; 
     ddlDistricts.Visible = true; 
    } 
+0

在其瀏覽器中,你面臨這樣的? – BNN 2014-11-06 11:04:20

+0

每一個特別鉻,火狐 – 2014-11-06 11:16:22

回答

-2

好的。

如果您只在IE中測試此功能,它應該沒有任何問題。但對於Chrome瀏覽器,你需要經過以下幾個步驟:

this.MaintainScrollPositionOnPostBack = true; 

此外,請參閱該項目的steps.:-

右鍵。
點擊「添加」 - >「添加新項目」。在「添加新項目」窗口中,選擇「瀏覽器文件」並點擊「添加」。 應用程序會要求你把在「App_Browsers文件」文件夾此文件,單擊「是」 現在添加保持滾動位置的功能如下:

<browsers> 
    <browser refID="Safari1Plus"> 
      <capabilities> 
       <capability name="supportsMaintainScrollPositionOnPostback" 
        value="true" /> 
      </capabilities> 
    </browser> 

+1

請[鏈接到相應的CodeProject項目](http://www.codeproject.com/Tips/207917/Maintain-Scroll-Position-Problem-fix-for-Chrome),如果你複製粘貼他們的內容。 – CodeCaster 2014-11-06 11:27:06

+0

不工作,我把這個 – 2014-11-06 12:10:53

+0

@CodeCaster:我想強調它的主要部分,這就是我在這裏做的。 – BNN 2014-11-06 12:27:15

0

簡單略低於屬性添加到您的<%@ Page>標記。

MaintainScrollPositionOnPostback = 「真」

<%@ Page Title="" MaintainScrollPositionOnPostback="true" Language="C#"> 
相關問題