0

これで宿題を済ませたらいいのにと思います。私はかなり大きなWebアプリケーションを持っており、ボタンを押すと、ポストバックでWebページがページの上部にジャンプします。ページに行が必要であることを認識していますMaintainScrollPositionOnPostback="true"

そこで、私は最初の原則に戻り、2つのWebページを作成しました。1つはajaxコントロールtakeittabcontainerを持っており、2つ目は持っていません。

tabcontainerを持つものでは、maintainposition属性は影響を与えず、ページはtabcontainerにジャンプして戻ります。ajaxのないものでは、正常に動作します。両方のページは以下の通りです。

この問題を解決する理由と方法を教えてください。

ポストバックでの位置を維持するWebページ

%@ 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>

ポストバックでの位置を維持しないWebページ

<%@ 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>
4

1 に答える 1

1

この記事はそれを説明する必要があります:

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

于 2013-01-22T22:13:58.090 に答える