2011-07-14 12 views
9

Cześć chłopaki pracują nad tym projektem do szkoły i mieć problemutrzymanie pozycji strony na odświeżenie

<asp:LinkButton ID="LinkEdit" runat="server" CssClass="right_bottom" 
     onclick="LinkEdit_Click" Height="16px">edit</asp:LinkButton> 
    <asp:LinkButton ID="Linkhide" runat="server" CssClass="right_bottom" 
     onclick="Linkhide_Click" Visible="False" hide</asp:LinkButton> 
    <br /> 
    <hr style="width: 740px; height: -6px; margin-left: 0px; " /> 
    <asp:Label ID="labelFullname" runat="server" Text="Full Name" CssClass="left_top"></asp:Label> 
    <asp:Label ID="labelNameDisplay" runat="server" Text="Put name here" CssClass="right_top"></asp:Label> 

    <br /> 
    <asp:Panel ID="panelName" runat="server" Height="240px" Visible="False" CssClass="panel_top" 
     style="text-align: left;"> 

     <asp:Label ID="Label8" runat="server" CssClass="left" Text="Please allow 24 hours for name changes to take effect."></asp:Label> 
    <div align="center"><br /> 
    <br /> 
    <table> 
     <tr> 
     <td class="label_new"> 
     <asp:Label ID="Label4" runat="server" Text="Full Name:" ToolTip="Name Displayed"></asp:Label> 
     </td> 
     <td align="left"> 

      <asp:DropDownList ID="DropDownList1" runat="server" BorderStyle="Groove" 
       Font-Names="Segoe UI,Tahoma,Verdana,Arial,Times" Font-Size="100%" Height="25px" 
      valign="middle" Width="250px"> 
       <asp:ListItem></asp:ListItem> 
       <asp:ListItem></asp:ListItem> 
       <asp:ListItem></asp:ListItem> 
      </asp:DropDownList> 
     </td> 
    </tr> 


    <tr> 
     <td class="label_new"> 
     <asp:Label ID="Label2" runat="server" Text="First Name:"></asp:Label> 
     </td> 
     <td align="left"> 
     <asp:TextBox ID="txtFirstName" runat="server" BorderStyle="Groove" Font-Names="Segoe UI,Tahoma,Verdana,Arial,Times" Font-Size="100%" Height="20px" 
      valign="middle" Width="242px"></asp:TextBox> 
     </td> 
    </tr> 

    <tr> 
     <td class="label_new"> 
     <asp:Label ID="Label9" runat="server" Text="Middle Name:"></asp:Label> 
     </td> 
     <td align="left"> 
     <asp:TextBox ID="txtMiddleName" runat="server" BorderStyle="Groove" Font-Names="Segoe UI,Tahoma,Verdana,Arial,Times" Font-Size="100%" Height="20px" 
      valign="middle" Width="242px" onfocus="if (this.value == 'optional') { this.value=''; this.style.color='black';}" /> 
     </td> 
    </tr> 

    <tr> 
     <td class="label_new"> 
     <asp:Label ID="Label10" runat="server" Text="Last Name:"></asp:Label> 
     </td> 
     <td align="left"> 
     <asp:TextBox ID="txtLastName" runat="server" BorderStyle="Groove" Font-Names="Segoe UI,Tahoma,Verdana,Arial,Times" Font-Size="100%" Height="20px" 
      valign="middle" Width="242px"></asp:TextBox> 
     </td> 
    </tr> 
    <tr> 
    <td colspan="2"> 
     <asp:Button ID="btnSaveChanges" runat="server" Text="Save Changes" 
      onclick="btnSaveChanges_Click" /> 
    </td> 
    </tr> 
    </table> 
    </div> 

    </asp:Panel> 

Mam 4 płyty w tym formacie podobnie jak ustawienia konta na Facebooku. Mój problem polega na tym, że kiedy pokazuję panel, po prostu przeskakuję na górę strony.

Chciałbym robić to tak, jak sposób na facebooku. kliknij i pozostań w tej samej pozycji, w której kliknąłeś.

Dzięki

+0

Jeśli dobrze rozumiem, użyj go tutaj http: //www.asp. net/ajax/ajaxcontroltoolkit/Samples/Accordion/Accordion.aspx – Mediator

+0

Dlaczego wysłałeś tak długi kod? Możesz być bardziej zwięzły. :) –

+0

@mike gee. Pamiętaj, aby oznaczyć odpowiedź, jeśli rozwiązuje ona Twój problem. Dzięki. –

Odpowiedz

1

Nie jestem całkowicie pewien, o co prosisz. Facebook używa wielu wywołań zwrotnych w stylu ajax, co oznacza, że ​​strona nie ładuje się ponownie za pomocą postbacków w stylu asp .net. Jeśli dopiero zaczynasz, polecam Ci próbowanie umieszczenia kodu w Ajax .Net UpdatePanel, podczas gdy poznasz szczegóły Ajax/JSON/XMLHttpRequest itp.

Jeśli po prostu chcesz się upewnić, że przeglądarka okno pozostaje na tym samym miejscu paska przewijania po odświeżeniu strony, a następnie ustawia stronę, aby używać dyrektywy MaintainScrollPositionOnPostback = "true".

26

Można ustawić właściwość MaintainScrollPositionOnPostback na swojej stronie:

Page.MaintainScrollPositionOnPostback = true; 

lub umieścić go w deklaracji strona

<%@ Page MaintainScrollPositionOnPostback="true" %> 
+1

który działa dzięki facetom Page.MaintainScrollPositionOnPostback = true; –

Powiązane problemy