我用了masterpage,该masterpage分为了三个区域,分别是head、左侧的竖向导航(单击父菜单则子菜单有收缩的效果),以及显示不同页面内容的ContentPlaceHolder,其他的功能页面都会使用这个masterpage。现在的现象就是,当我点开一个父菜单后,点击里面的一个子菜单,整个页面都刷新,子菜单也收缩回去了,我不希望子菜单收回,怎样做到点击子菜单时,只是右侧的ContentPlaceHolder里面的内容刷新呢?除了Ajax还有其他的方法吗?谢谢各位指教啦!

解决方案 »

  1.   

    麻烦你能说的详细一些吗?我是第一次做网站。如果用iframe的话是不是就不可以用masterpage了啊?
      

  2.   

    你查看下网页的源文件,看看masterpage 到底变成了客户端的什么控件想想的话,如果不用ajax貌似不可以哦
      

  3.   

    iframe可以..
    需要自己去网上找下,很多资料的...
      

  4.   

    框架应该能新,要不然的话,想要局部更新,lz就只好用Ajax的UpdataPanel来进行局部更新了。
      

  5.   

    第一次做网站??那么建议你从最基本的HTML做起,不要用masterpage,这不利于你的学习
      

  6.   

    感觉像你绑定菜单的时候没写在if(!IsPostBack)里
      

  7.   

    现在不用masterpage的话已经来不及了,那要做很大的改动,我绑定菜单都是在客户端实现的。好多人都说用iframe可以,希望你们能给我说个大致的实现思路吧,我现在不知道该如何下手了,谢谢各位!!真的很急~
      

  8.   

    第一种:虽然这个在05中理论上不支持 但是还是可以用的
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>无标题页</title>
    </head>
    <frameset rows="105,*" cols="*" framespacing="0" frameborder="no" border="0">
        <frame src="Top.aspx" name="topFrame" scrolling="No" noresize="noresize"/>
    <frameset rows="*" cols="178,*" framespacing="0" frameborder="no" border="0">
        <frame src="Left.aspx" name='Left' scrolling='yes' noresize='noresize' />
        <frame src="Main.aspx" name='Main' scrolling='yes' noresize='noresize' />
    </frameset>
    </frameset>
    </html>
    第二种:<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title><%=Production%></title>
    </head><body>
    <iframe name="indexHead" id="indexHead" style="left: 0px; width: 102%; position: absolute; top: 0px; height: 80px" src="indexHead.aspx" scrolling="no" frameborder="0"></iframe>
    <iframe name="indexMenu" id="indexMenu" style="left: 0px; width: 200px; position: absolute; top: 80px; height: 100%" src="indexMenu.aspx" scrolling="yes"></iframe>
    <iframe name="indexMain" id="indexMain" style="left: 200px; width: 82%; position: absolute; top: 80px; height: 100%; overflow:auto" src="indexMain.aspx" scrolling="yes"></iframe>
    </body></html>
      

  9.   

    两种思路:
    1,用框架页,frame,
    2,masterpage+updatepanel,左侧菜单保存在缓存中,可以把菜单的展开折叠状态保存下来。
      

  10.   

    用十楼所说的方法,是不是就不能用masterpage了?
    还有十一楼所说的第二个思路能否说的再详细些?谢谢!!
      

  11.   

    我正遇到此问题但是我用了两个iframe   在同一个页面上当iframe1刷新  怎么iframe2也刷新了 怎么让iframe1刷新时候   iframe2不刷新呢 
      

  12.   


            <table style="width: 588px; height: 243px" id="table1">
                <tr>
                    <td style="width: 500px; height: 200px;"><iframe src="ShowMessage.aspx" width ="100%" height ="100%" style="width: 100%"></iframe>
                    </td>
                </tr>
                <tr>
                    <td style="width: 500px; height: 200px;"><iframe src="Speak.aspx" width ="100%" height="100%"></iframe>
                    </td>
                </tr>
            </table>
    这个是存放iframe的页面 中的情况
      

  13.   

    局部刷新的问题解决了,我还是用了masterpage,在masterpage中使用了iframe,并且将所有页面改成不嵌套在masterpage中的形式后在iframe中显示,但是又带来了一些新的问题,因此这样masterpage就无法对各个页面的控件进行控制了,以前实现的如对控件textbox中值的条件判断(用js写的)都执行不了了,好郁闷啊!请高手支招!!