如何不使用让menu控件不回发(postback)
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>写网站首页程序的导航,要用asp.net2.0 的下menu控件,因为绑定数据库十分方便,不过有个问题,就是我采用的iframe来跳转页面,不想整个首页都跳转,不过发现menu控件没有控制回发的属性,每单击就回发一次,挺麻烦的。后来想到一个曲折来实现的办法,在text属性上做文章,代码如下:<div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 95%; padding-top: 4px;">index.aspx页面:
.....
<scriptlanguage=javascript>
functionOpenNewWindow(strUrl)
{
document.all.UrlRedirect.src=strUrl;
}
</script>
<asp:MenuID="Menuindex"runat="server"Orientation="Horizontal">
</asp:Menu>
....
<iframeid="UrlRedirect"name="UrlRedirect"></iframe>
.....
index.aspx.cs
......
protectedvoidPage_Load(objectsender,EventArgse)
{
InitNavigationTree(Menuindex.Items,"0");
}
privatevoidInitNavigationTree(MenuItemCollectionmenuItemCollection,stringsParentID)
{
DataViewdvw=newDataView();
MenuItemnodTemp;
dvw.Table=getDataAll("select*fromF_menuwhereF_PARENTMENUGUID='"+sParentID+"'orderbyF_ORDER");
foreach(DataRowViewdrvindvw)
{
nodTemp=newMenuItem();
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);
}
}
privatestringGetMenuText(stringlinkTxt,stringnameTxt)
{
stringtemp="<astyle='cursor:hand'onclick=OpenNewWindow('"+linkTxt+"')>"+nameTxt+"</a>";
returntemp;
}
..........
页:
[1]