六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

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

[复制链接]

升级  49.2%

238

主题

238

主题

238

主题

进士

Rank: 4

积分
746
 楼主| 发表于 2013-2-4 22:06:34 | 显示全部楼层 |阅读模式
<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;
}

..........

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表