.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 ...
随机推荐
- Count The Pairs
hdu4750:http://acm.hdu.edu.cn/showproblem.php?pid=4750 题意:给你一个带权无向图,然后让你求这样的点对s,t,使得s--t的所有路径上的最大的边的 ...
- php生成二维码,使用qrcode类库创建
传说Google有个接口,可以生成二维码,这让我有点鸡冻不已,于是,......(省略1000字).结果,我找到了另外一个方法,是使用一个php类库,该工具叫:qrcode,但下载该工具可真是要人命. ...
- Spark Streaming 结合FlumeNG使用实例
SparkStreaming是一个对实时数据流进行高通量.容错处理的流式处理系统,可以对多种数据源(如Kdfka.Flume.Twitter.Zero和TCP 套接字)进行类似map.reduce.j ...
- Linux Shell编程(17)——嵌套循环
嵌套循环就是在一个循环中还有一个循环,内部循环在外部循环体中.在外部循环的每次执行过程中都会触发内部循环,直到内部循环执行结束.外部循环执行了多少次,内部循环就完成多少次.当然,不论是外部循环或内部循 ...
- Linux Shell编程(11)——退出和退出状态
exit命令一般用于结束一个脚本,就像C语言的exit一样.它也能返回一个值给父进程.每一个命令都能返回一个退出状态(有时也看做返回状态).一个命令执行成功返回0,一个执行不成功的命令则返回一个非零值 ...
- Linux下如何挂载FAT32格式USB设备
挂u盘之前,运行命令cat /proc/partitions,看看现在系统中有哪些分区.插上u盘以后,再次运行上述命令,看看多出来什么分区.通常是sda1. 1.插入U盘 2.输入 fdisk -l ...
- freepbx 安装和配置
首先参见 asterisk manager api 的配置,然后根据freepbx的官方文档: http://wiki.freepbx.org/display/HTGS/Installing+Fr ...
- 利用qemu模拟嵌入式系统制作全过程
http://www.tinylab.org/using-qemu-simulation-inserts-the-type-system-to-produce-the-whole-process/ 利 ...
- galera mysql 多主复制启动顺序及命令
Mysql 被复制机 sql启动
- Docker入门实战_正版电子书在线阅读_百度阅读
Docker入门实战_正版电子书在线阅读_百度阅读 Docker入门实战