Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net jquerymobile中的多页模板_Asp.net_Jquery Mobile - Fatal编程技术网

Asp.net jquerymobile中的多页模板

Asp.net jquerymobile中的多页模板,asp.net,jquery-mobile,Asp.net,Jquery Mobile,我使用多页模板创建页面,我看到加载时每个页面中只有起始页(例如index.aspx)仍然保留在Dom中。但现在在我的另一个页面(例如child.aspx)中,它是pageparent.aspx的子页面,我可以看到parent.aspx页面的dom元素。 面包屑如下:Index-->parent-->child,也许我应该只看到Index dom内容而不是parent。这让我想知道为什么页面是这样的,我如何处理它。谢谢 更新: 我只想在每次展示中重新加载每个页面,我的意思是完全清除DOM并从一开始

我使用多页模板创建页面,我看到加载时每个页面中只有起始页(例如index.aspx)仍然保留在Dom中。但现在在我的另一个页面(例如child.aspx)中,它是pageparent.aspx的子页面,我可以看到parent.aspx页面的dom元素。 面包屑如下:Index-->parent-->child,也许我应该只看到Index dom内容而不是parent。这让我想知道为什么页面是这样的,我如何处理它。谢谢

更新: 我只想在每次展示中重新加载每个页面,我的意思是完全清除DOM并从一开始就加载内容。就像按ctrl+f5并加载没有缓存的页面一样。这在JQM中可能吗

Index.aspx:

    <form id="form1" runat="server" dir="rtl">
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode = "Conditional">
            <ContentTemplate>
        <asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager>
        <uc2:MblMyMessageBox ID="MblMyMessageBoxInfo" runat="server" ShowCloseButton="true" /> 
    <div data-role="page" id="home"> 
        <div data-role="header">
            <h1>header</h1>
        </div>
        <div data-role="content">   
            <ul data-role="listview" data-inset="true" data-filter="false">
                <li data-icon="false"><a href="AccountStatus.aspx">AccountStatus</a></li>
                <li data-icon="false"><a href="ConfirmPayment.aspx">ConfirmPayment</a></li>
            </ul>   
        </div>
    </div>
            </ContentTemplate>
    </asp:UpdatePanel>
</form>
 <div data-role="page" id="accountStatus">
    <div data-role="header">
        <h1>Header</h1>
    </div><!-- /header -->
    <div data-role="content">   
        <ul data-role="listview" data-inset="true" data-filter="false">
            <li data-icon="false"><a href="BalancePage.aspx" data-prefetch="true">balance</a></li>
            <li data-icon="false"><a href="InvoicePage.aspx">invoice</a></li>
        </ul>           
    </div><!-- /content -->
    <div data-role="footer">
        <p><a href="Index.aspx">back</a></p>
    </div><!-- /footer -->
 </div><!-- /page -->   


  • AccountStatus.aspx:

        <form id="form1" runat="server" dir="rtl">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode = "Conditional">
                <ContentTemplate>
            <asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager>
            <uc2:MblMyMessageBox ID="MblMyMessageBoxInfo" runat="server" ShowCloseButton="true" /> 
        <div data-role="page" id="home"> 
            <div data-role="header">
                <h1>header</h1>
            </div>
            <div data-role="content">   
                <ul data-role="listview" data-inset="true" data-filter="false">
                    <li data-icon="false"><a href="AccountStatus.aspx">AccountStatus</a></li>
                    <li data-icon="false"><a href="ConfirmPayment.aspx">ConfirmPayment</a></li>
                </ul>   
            </div>
        </div>
                </ContentTemplate>
        </asp:UpdatePanel>
    </form>
    
     <div data-role="page" id="accountStatus">
        <div data-role="header">
            <h1>Header</h1>
        </div><!-- /header -->
        <div data-role="content">   
            <ul data-role="listview" data-inset="true" data-filter="false">
                <li data-icon="false"><a href="BalancePage.aspx" data-prefetch="true">balance</a></li>
                <li data-icon="false"><a href="InvoicePage.aspx">invoice</a></li>
            </ul>           
        </div><!-- /content -->
        <div data-role="footer">
            <p><a href="Index.aspx">back</a></p>
        </div><!-- /footer -->
     </div><!-- /page -->   
    
    
    标题
    


    从accountStatus页面dom元素中删除索引的内容是我的目的

    用户导航到的所有页面都将添加到dom中。看见然而,jQM还必须防止DOM变得太大,从而降低浏览器的速度。它可能会也可能不会从DOM中删除旧元素。 我建议您不要相信DOM元素会被自动删除。如果确实要删除正在导航的页面,可以绑定以下内容:

    $(document).one("pageshow",function(){
         $(document).one("pagehide",function(){
              $("#pageId").remove();
         });
    });
    
    其中,pageId是您给
    的id

    编辑更新后的问题: 要在以下链接时重新加载整个页面:

    指向其他域或具有rel=“external”的链接, 数据ajax=“false”或目标属性不会使用ajax加载。 相反,这些链接将导致整个页面刷新,而不显示动画 过渡

    资料来源:

    或者,您可以使用以下选项进行更改:


    我照你说的做了,但问题仍然存在,其他页面的内容仍然是隐藏的div。您知道,当我刷新当前页面时,一切都正常,但在导航方式中会出现此问题。我仔细检查了div的ID,发现在我的asp页面中使用相同的ID也是错误的。我也更改了它,但这还不能解决它。因此,带有
    id=“pageId”
    的div不会从DOM中删除。因此可能根本没有调用函数
    .remove()
    ,或者没有在正确的元素上调用函数。你能看看是不是这两种情况吗?非常感谢卡拉沃,你帮了我很多。答案是data ajax=“false”。