.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 ...
随机推荐
- C#.ToString()格式大全
原文:C#.ToString()格式大全 C#.ToString()格式大全 stringstr1=string.Format("{0:N1}",56789); ...
- Android JSON数据解析(数据传输)
上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三 种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通 ...
- Bluetooth LE(低功耗蓝牙) - 第三部分
回顾 在本系列的前两篇文章中,我们已经了解了一些关于Bluetooth LE的背景并建立一个简单的Activity / Service框架. 在这篇文章中,我们将探讨Bluetooth LE的细节 ...
- C++ Prime:switch内部的变量定义
如果需要为某个case分支定义并初始化一个变量,我们应该把变量定义在块内,从而确保后面的所有case标签都在变量的作用域之外. case true: { // 正确,声明语句位于语句块内部 strin ...
- 使用bacula实现Linux的远程备份和还原
Bacula,被誉为开源软件中最好的备份还原软件,它提供了企业级的客户机/服务器的备份解决方案,能够通过网络来管理文件的备份,恢复和核实工作.Bacula,既有windows版本的,也有Linux,U ...
- 【转】Android应用程序完全退出
原文网址:http://www.yoyong.com/archives/199 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://s ...
- Java基础之String,StringBuilder,StringBuffer
在创建字符串的时候总是习惯性的使用String str = "...";,str = str+"abcd";也有听说过StringBuffer,StringBu ...
- Unity3D学习笔记——选择Enemy
一.步骤: 1.创建三个Cube,并将这三个Cube的Cube的Tag设为Enemy 2.导入第一人称视角的资源 3.创建名为Targeting的C#脚本 4.编写Targeting脚本,并将它附到第 ...
- apache php gzip压缩输出的实现方法
一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992 ...
- P1082丛林探险
P1082丛林探险 描述 东非大裂谷中有一片神秘的丛林,是全世界探险家的乐园,著名黄皮肤探险家BB一直想去试试.正好我国科学家2005年4月将首次对东非大裂谷进行科考,BB决定随科考队去神秘丛林探险. ...