首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >如何不使用让menu控件不回发(postback)

如何不使用让menu控件不回发(postback)

作者头像
Jianbo
发布2018-01-08 18:35:17
发布2018-01-08 18:35:17
9120
举报
文章被收录于专栏:守望轩守望轩

写网站首页程序的导航,要用asp.net2.0 的下menu控件,因为绑定数据库十分方便,不过有个问题,就是我采用的iframe来跳转页面,不想整个首页都跳转,不过发现menu控件没有控制回发的属性,每单击就回发一次,挺麻烦的。后来想到一个曲折来实现的办法,在text属性上做文章,代码如下: index.aspx页面:

代码语言:js
复制
…..
<script language=javascript>
function OpenNewWindow(strUrl)
 { 
 
     document.all.UrlRedirect.src = strUrl;
 
 }
</script>
<asp:Menu ID=”Menuindex” runat=”server” Orientation=”Horizontal”   >
 
         </asp:Menu>
….
<iframe id =”UrlRedirect” name=”UrlRedirect”></iframe>
 …..
index.aspx.cs
 ……
protected void Page_Load(object sender, EventArgs e)
     {        
 
         InitNavigationTree(Menuindex.Items, “0”);        
 
     }
     private void InitNavigationTree(MenuItemCollection menuItemCollection, string sParentID)
     {
 
        DataView dvw = new DataView();
        MenuItem nodTemp;   
 
         dvw.Table = getDataAll(“select  * from F_menu  where F_PARENTMENUGUID='”+sParentID +”‘ order by F_ORDER”);
         foreach (DataRowView drv in dvw)
         {
             nodTemp = new MenuItem();
             nodTemp.Value = drv[“F_MENUGUID”].ToString();
             nodTemp.Text = GetMenuText(drv[“F_LINKPAGE”].ToString(),drv[“F_MENUNAME”].ToString()) ;
             menuItemCollection.Add(nodTemp);           
             InitNavigationTree(nodTemp.ChildItems, nodTemp.Value);
         }
     }
    private string GetMenuText(string linkTxt,string nameTxt)
     {
         string temp = “<a style=’cursor:hand’ onclick=OpenNewWindow(‘” + linkTxt + “‘)>” + nameTxt + “</a>”;
         return temp;
     }
 ……….
 
 //这样menu就不回发了,而只会调用菜单文本上的那个onclick事件。
//注:getDataAll 方法是获得菜单表数据的方法,在此省略了
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2007-11-8,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档