维持对Web应用程序的位置应用程序、位置、Web

2023-09-10 18:33:09 作者:夜深ベ买醉ヤ

我希望我已经在这一个做了功课。我有一个相当大的Web应用程序,当一个按钮是pressed网页跳转到上回发的页面的顶部。据我所知,页面需要行 MaintainScrollPositionOnPostback =真正的

于是我又回到了第一的原则,并建立了两个网页。其中有一个AJAX控件的无线工具包TabContainer的第二个也没有。

在一个与TabContainer的的maintainposition属性有没有影响和页面跳转回TabContainer的。在一个没有AJAX的正常工作。这两个网页下面。

能否请你告诉我,我为什么和如何解决这个问题?

网页,做保持在回发地位

 %@页面语言=C#AutoEventWireup =真正的codeBehind =WebForm1.aspx.cs中继承=MaintainMyPosition.WebForm1MaintainScrollPositionOnPostback =真正的% >

!< D​​OCTYPE HTML PUBLIC -  // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

< HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
<头=服务器>
    <冠军>< /标题>
< /头>
<身体GT;
    <表格ID =Form1的=服务器>
    < D​​IV>

        这个Web应用程序将保持在回发&LT的位置; / DIV>
                < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
    < ASP:按钮的ID =Button1的=服务器文本=preSS我和立场将保持/>
    < /形式GT;
< /身体GT;
< / HTML>
 

网页不保持在回发地位

 <%@页面语言=C#AutoEventWireup =真正的codeBehind =WebForm2.aspx.cs继承=MaintainMyPosition.WebForm2MaintainScrollPositionOnPostback =真%>
<%@注册议会=AjaxControlToolkit中命名空间=AjaxControlToolkit中标签preFIX =ASP%>
!< D​​OCTYPE HTML PUBLIC -  // W3C // DTD XHTML 1.0过渡// ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

< HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
<头=服务器>
    <冠军>< /标题>
< /头>
<身体GT;
    <表格ID =Form1的=服务器>
            < ASP:ScriptManager的ID =ScriptManager1=服务器LoadScriptsBeforeUI =真>
    < / ASP:ScriptManager的>
    < D​​IV>
        这个Web应用程序将不会保持在回发的位置
        < / DIV>
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < ASP:TabContainer的ID =TabContainerMain=服务器ActiveTabIndex =4WIDTH =100%
                        高度=100%的CssClass =ViewStateMode =已启用>

                        < ASP:一个tabpanel ID =Tab_Errors=服务器HEADERTEXT =Tab_Errors>
                            <的ContentTemplate>
                                < D​​IV CLASS =的TabControls>
                                    &其中p为H.;
                                        你好我是一位AJAX控件选项卡,然后我要去导致该网页以不能维持姿势< / P>
                                < / DIV>
                            < /的ContentTemplate>
                        < / ASP:一个tabpanel>
                    < / ASP:TabContainer的>
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />
        < BR />

    < ASP:按钮的ID =Button1的=服务器文本=preSS我和地位将不保/>
    < /形式GT;
< /身体GT;
< / HTML>
 
国外用html5开发游戏,10个国外开发的HTML 5精彩应用

解决方案

这篇文章应该解释一下:

http://www.eggheadcafe.com/tutorials/asp-net/7dd57635-0587-42ba-ae73-f52449e653bf/aspnet-ajax-maintain-scroll-position-from-a-partial-page-update.aspx

I hope I have done my homework on this one. I have a fairly large web application and when a button is pressed the webpage jumps to the top of the page on postback. I am aware that the page needs the line MaintainScrollPositionOnPostback="true"

So I went back to first principles and built two web pages. One has an ajax control tookit tabcontainer the second one has not.

On the one with the tabcontainer the maintainposition attribute has no affect and the page jumps back to the tabcontainer. On the one without ajax it works fine. Both pages are below.

Can you please tell me why and how I fix this issue?

Webpage that does maintain position on postback

%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MaintainMyPosition.WebForm1" MaintainScrollPositionOnPostback="true"  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        This Web Application will maintain the position on postback</div>
                <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />    
    <asp:Button ID="Button1" runat="server" Text="Press me and position will be maintained" />
    </form>
</body>
</html>

Webpage that does NOT maintain position on postback

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="MaintainMyPosition.WebForm2" MaintainScrollPositionOnPostback="true"  %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server" LoadScriptsBeforeUI="True">
    </asp:ScriptManager>
    <div>   
        This Web Application will NOT maintain the position on postback
        </div>                          
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <asp:TabContainer ID="TabContainerMain" runat="server" ActiveTabIndex="4" Width="100%"
                        Height="100%" CssClass="" ViewStateMode="Enabled">

                        <asp:TabPanel ID="Tab_Errors" runat="server" HeaderText="Tab_Errors">
                            <ContentTemplate>
                                <div class="TabControls">
                                    <p>
                                        Hello Im an ajax control tab and I'm going to cause this webpage to not maintain position .</p>
                                </div>
                            </ContentTemplate>
                        </asp:TabPanel>                                             
                    </asp:TabContainer>
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />

    <asp:Button ID="Button1" runat="server" Text="Press me and position will not be maintained" />
    </form>
</body>
</html>

解决方案

This article should explain it:

http://www.eggheadcafe.com/tutorials/asp-net/7dd57635-0587-42ba-ae73-f52449e653bf/aspnet-ajax-maintain-scroll-position-from-a-partial-page-update.aspx