【问题标题】:Maintain position on web application保持在 Web 应用程序上的位置
【发布时间】:2013-01-22 22:00:40
【问题描述】:

我希望我已经完成了这项工作。我有一个相当大的 Web 应用程序,当按下按钮时,网页会在回发时跳转到页面顶部。我知道页面需要MaintainScrollPositionOnPostback="true"

所以我回到了第一原则并构建了两个网页。一个有一个 ajax 控件,带了它的 tabcontainer,第二个没有。

在带有 tabcontainer 的情况下,maintainposition 属性没有影响,页面会跳回 tabcontainer。在没有 ajax 的情况下,它工作正常。两页都在下面。

你能告诉我为什么以及如何解决这个问题吗?

在回发时保持位置的网页

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

在回发时不保持位置的网页

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

【问题讨论】:

  • 我建议学习 CSS。使用 BR 格式化页面是完全错误的。
  • 嗨,这是一个演示,仅用于解释问题。我确实在我的实际应用程序中使用 css

标签: c# asp.net ajax ajaxcontroltoolkit tabcontainer


【解决方案1】:

【讨论】:

  • 好的——我试试这个,我对如何处理表单上的多个控件很感兴趣。我会回来报告的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
相关资源
最近更新 更多