none
javascript:__doPostBack 问题 RRS feed

  • 问题


  • 项目需要,做一个菜单特效,网上见到一效果正是客户想要的,但是没有源码,于是乎参靠了下他的页面代码,还原了使用AJAX控件的那部分,代码如下:


    //顶部菜单
    <asp:UpdatePanel ID="topMenus" runat="server">
        <ContentTemplate>
            <!-- 主导航菜单-->
                <div id="business">
                    <ul>
                        <li>
                            <a id="btnSettings" class="current1" href="javascript:__doPostBack('btnSettings','')">系统管理</a>
                        </li>
                        <li>
                            <a id="btnModes" href="javascript:__doPostBack('btnModes','')">模块管理</a>
                        </li>
                    </ul>
                </div>
                <!-- 子导航菜单-->
                <div class="hcs" id="default">
                    <div id="SystemSettings">
                        <a id="btnSiteInfo" class="cwhite" href="javascript:__doPostBack('btnSiteInfo','')">站点资料</a>
                    </div>
                </div>
                <!-- 子导航结束-->
     <!-- 主导航菜单结束-->
        </ContentTemplate>
    </asp:UpdatePanel>


    //加载时显示的等待信息
    <asp:UpdateProgress ID="Loadings" runat="server" AssociatedUpdatePanelID="topMenus" DisplayAfter="500">
            <ProgressTemplate>
                 <div style="text-align: center;">
                      数据加载中..</div>
                 <div style="text-align: center;">
                      <img src="/images/loadings.gif" alt="数据加载中..." />
                 </div>      
            </ProgressTemplate>
     </asp:UpdateProgress>


    //在点击上面的菜单时,在后台需要处理__doPostBack事件来改变下面的iframe的SRC
    <asp:UpdatePanel ID="updBody" runat="server">
        <ContentTemplate>
             <iframe id="ifrBody" style="width: 100%;" frameborder="0" name="ifrBody" marginheight="0" scrolling="no" marginwidth="0" src="SiteInfo.aspx"></iframe>
         </ContentTemplate>
    </asp:UpdatePanel>


    这个效果简单点说,点击上面顶部菜单,无刷新在下部iframe中改变src的地址。我想请教一下,他的__doPostBack在后台如何接收处理的,我尝试了很多方法,都无法实现。
    请教,他的后台代码是如何处理的,接收__doPostBack的参数,并改变iframe的src。谢谢!

    2009年12月20日 7:40

答案

  • 纯客户端控件无法使用__doPostBack  因为他们没有生成服务端控件那些js内置机制  你那个a标签是个linkbutton控件
    2009年12月20日 7:52