.NET 菜单如何链接到指定的框架
这2天我看了网络上很多关于这方面的资料,很多都是抄人家的,要不就是没图说个jiba,要不就是没有说到重点,浪费大家的时间,今天我把我的心得给大家分享下,希望对大家有所帮助。
一、首先,你需要简历一个框架集(frame set),这就包括了几个部分,包括:index_frame、frame_top、frame_left、mainFrame、以及一个折叠的特效;

我的文件目录如下:

各部分代码如下:
frame_center.html:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<script type="text/javascript">
function hiddeFrame()
{
parent.document.getElementById("mainContentFrame").cols="0,7,*";
document.getElementById("hiddeFrame").style.display="none";
document.getElementById("OpenFrame").style.display="";
} function OpenFrame()
{
parent.document.getElementById("mainContentFrame").cols="209,7,*";
document.getElementById("hiddeFrame").style.display="";
document.getElementById("OpenFrame").style.display="none";
}
</script>
</head> <body style="background:#c8d6f0; margin:0px">
<table cellpadding="" cellspacing="" border="">
<tr>
<td height="400px" valign="middle">
<img src="Images/MP-frame_menu/Displayonmouse_none.gif" alt="关闭左侧菜单" id="hiddeFrame" onclick="hiddeFrame();"
onmouseover="this.src='Images/MP-frame_menu/Display_none.gif'"
onmouseout="this.src='Images/MP-frame_menu/Displayonmouse_none.gif'"
style="cursor:pointer;" />
<img src="Images/MP-frame_menu/Displayonmouse.gif" alt="打开左侧菜单" id="OpenFrame" onclick="OpenFrame();"
onmouseover="this.src='Images/MP-frame_menu/Display.gif'" onmouseout="this.src='Images/MP-frame_menu/Displayonmouse.gif'"
style="cursor:pointer;" />
</td>
</tr>
</table>
</body>
</html>
frame_index_pager:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="frame_index_pager.aspx.cs" Inherits="Maticsoft.Web.MainPager" %>
<%@ Import Namespace="Config" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title><%=AppConfig.g_strProjectName%><%=AppConfig.g_strProjectVersion%></title>
</head> <frameset rows="80,*" frameborder="no" border="" framespacing="">
<frameset cols="*" frameborder="no" border="" framespacing="">
<frame src="frame_top_pager.aspx" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
</frameset> <frameset cols="*" frameborder="no" border="" framespacing="">
<frameset cols="209,7,*" frameborder="no" border="" id="mainContentFrame" framespacing="">
<frame src="frame_left_pager.aspx" name="leftFrame" scrolling="no" noresize="noresize" id="leftFrame" />
<frame src="frame_center.html" name="CenterFrame" scrolling="no" noresize="noresize" id="CenterFrame" />
<frame src="<%if(Request["mfsrc"]!=null&&Request["mfsrc"]!=""){Response.Write(Request["mfsrc"].ToString().Replace("-","&"));}else{Response.Write("frame_main.aspx");}%>" name="mainFrame" id="mainFrame" scrolling="yes" frameborder="" noresize="noresize" />
</frameset>
</frameset> </frameset> <body>
<p>
</p>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
frame_left_pager:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="frame_left_pager.aspx.cs" Inherits="Maticsoft.Web.frame_left_pager" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link type="text/css" rel="stylesheet" href="css/main.css" /> <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css"/>
<link rel="stylesheet" type="text/css" href="../../themes/icon.css"/>
<script type="text/javascript" src="../../jquery.min.js"></script>
<script type="text/javascript" src="../../jquery.easyui.min.js"></script>
</head >
<body style="margin:5px 0px 0px 3px;">
<form id="form1" runat="server">
<table width="" border="" cellspacing="" cellpadding="" style="background:#ffffff">
<tr>
<td>
<table class="menu_top" width="" border="" cellspacing="" cellpadding="">
<tr>
<td>
<div class="menu_title" id="menu_title" >主菜单</div>
</td>
</tr>
</table> <asp:TreeView ID="TreeView1" runat="server">
<Nodes>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" SelectAction="None"
Text="用户新装管理" Value="用户新装管理">
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" SelectAction="None"
Text="民用、小商户用" Value="民用、小商户用">
<asp:TreeNode ImageUrl="~/Images/All_comment/txt.gif"
NavigateUrl="~/YYXZGL/MY$XXHY/XZ_YHSQ.aspx" SelectAction="SelectExpand"
Text="新装_用户申请" Value="新装_用户申请" Target="mainFrame"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" SelectAction="None"
Text="大型商业及楼盘" Value="大型商业及楼盘"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" SelectAction="None"
Text="燃气安装管理" Value="燃气安装管理">
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="安装申请" Value="新建节点"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="安装施工" Value="安装施工"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="业务监控" Value="业务监控"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="完成列表" Value="完成列表"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" SelectAction="None"
Text="业务优惠管理" Value="业务优惠管理">
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="业务优惠" Value="业务优惠"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" SelectAction="None"
Text="用户变更管理" Value="用户变更管理">
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="搬迁管理" Value="搬迁管理"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="过户管理" Value="过户管理"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="报停管理" Value="报停管理"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="变更用气性质" Value="变更用气性质"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif"
SelectAction="SelectExpand" Text="燃气改管" Value="燃气改管"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/Images/MP-frame_menu/close.gif" Text="其他" Value="其他">
</asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView> </td>
</tr>
</table>
</form>
</body>
</html>
我觉得其他的代码都不在重要了。这个 frame_left_pager中的一行代码才是最关键的:
<asp:TreeNode......NavigateUrl="~/YYXZGL/MY$XXHY/XZ_YHSQ.aspx" SelectAction="SelectExpand"
Text="新装_用户申请" Value="新装_用户申请" Target="mainFrame">
</asp:TreeNode>
我是用原生的控件TREEvIEW来写的,treeView的属性NavigateUrl定义要链接的页面,SelectAction属性让你可以拓展链接。最重要的是这个Target标签,定义到那个框架,不明白的同学可以去查找这方面的资料。这里的mainFame就是我们的主界面的name标签,在我们的frame_index_pager页面的 frame set中是这样定义的:
<frame src="....." name="mainFrame" id="mainFrame" scrolling="yes" frameborder="0" noresize="noresize" />
这样我们就可以点击菜单把想要的页面直接连接到右边的框架中显示了。结果如下图:

当然,这个tree你可以使用其他的东西,比如easyui啊啥的都可以用的哈!
.NET 菜单如何链接到指定的框架的更多相关文章
- 项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出
1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法 Shiro框架内部整合好缓存管理器, ...
- CentOS 7 实现zabbix agent 自动添加,并链接到指定的模版
如果添加的agent端数量较少时 , 手动添加还是可以的 , 如果数量较多 , 那么zabbix-server 的Discovery自动发现功能便派上了用场 首先所需要加入的服务器zabbix-age ...
- 用echarts.js制作中国地图,点击对应的省市链接到指定页面
这里使用的是ECharts 2,因为用EChart 3制作的地图上的省市文字标识会有重叠,推测是引入的地图文件china.js,绘制文字的坐标方面的问题,所以,这里还是使用老版本. ECharts 2 ...
- zabbix server的Discover功能,实现zabbix agent 大批量的自动添加,并链接到指定的模版(3)
一.需求 zabbix 服务器可以手动加入zabbix-agent客户端,对于少量的机器,这没有什么.但到了线上,我们有大量的服务器需要监控时,如果再一个个的手动加的话,工作量势必会增加很多.这时,z ...
- 右键菜单添加程序,指定图标, Notepad2、Sublime Text 2
右键添加Sublime Text 打开方式 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Sublime Text] ...
- 菜单ACTION控制栏位字段编辑,点击菜单ACTION才能编辑指定的栏位
范例(axmt500): 目的,控制新增的栏位(价格清单2),需点击菜单栏“修改价格清单2”才能对相应的栏位进行编辑修改,并记录修改人.日期: 1)在规格上增加新ACTION——action_modi ...
- ectouch第十一讲 之 ECTouch 菜单里如何添加文章链接
1.首先在 ectouch 后台添加好文章分类和文章内容(具体添加方法很简单,这里就不再赘述),然后在菜单管理里添加导航如下(链接地址的获取方法参考步骤 2):2.文章分类列表 域名/mobile/i ...
- cordova在app内部指定浏览器打开链接插件:cordova-plugin-inappbrowser
原文网址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-plugin-inappbrowser/ 要想App里边的 ...
- 关于使用连接器arm-linux-ld时指定链接地址的作用
首先,记住一句话:程序的链接地址必须等于运行地址! 在学习exynos 4412的启动过程时,发现自己对链接地址的作用不是很了解,于是上网查找了资料做了基本了解,在此做个总结. 上图是exynos 4 ...
随机推荐
- MockupBuilder
玩一下,想起了以前公司产品经理作的些事了...
- 将数组转换成List
采用比较好的方法Collections.addAll(arrayList, arr); arrayList是一个List arr是一个数组 并且要求arrayList与arr的类型是相同的 或 ...
- git在myelispse中的安装
1.git在myelispse中的安装 http://blog.csdn.net/chinaonlyqiu/article/details/8830050
- C++11并发内存模型学习
C++11标准已发布多年,编译器支持也逐渐完善,例如ms平台上从vc2008 tr1到vc2013.新标准对C++改进体现在三方面:1.语言特性(auto,右值,lambda,foreach):2.标 ...
- 【转】单独编译android framework模块出现的问题
原文网址:http://blog.csdn.net/leonan/article/details/8629561 全编andorid后,单独修改编译一个framwork模块,make snod会有如下 ...
- Robot Framework安装
Robot Framework(中文站/社交化知识社区,源码)是一款Python编写的通用开源功能测试自动化框架,以作验收测试和验收测试驱动开发(ATDD),它是一种使用表格测试数据语法的关键字驱动的 ...
- UVa10047 The Monocycle
UVa10047 The Monocycle 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19491 (以上摘自htt ...
- vimium快捷键列表
最近越来越懒了,不想拿手去碰鼠标,就想这样放在键盘上,在MacOSX下基本的操作也都能实现了,Xcode也没什么问题,现在就是有个地方十分不方便,就是浏览网页的问题,不管怎么样都是需要鼠标来浏览网页, ...
- [转载]Div和Table的区别
1:速度和加载方式方面的区别 div 和 table 的差异不是速度,而是加载方式,速度只能是指网络速度,如果速度足够快,是没有差异的: div 的加载方式是即读即加载,遇到 <div> ...
- SWMM[Storm Water Management Model]模型代码编译调试环境设置
1. 下载计算引擎源代码后解压, 目前最新版本5-0-022. 其中包含源文件和工程文件,选择vc2005_con.在源代码目录下创建VC2005_CON目录拷贝VC2005-CON.VCPROJ 放 ...