这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>
&nbsp;&nbsp;&nbsp;
</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. 项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出

    1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法   Shiro框架内部整合好缓存管理器, ...

  2. CentOS 7 实现zabbix agent 自动添加,并链接到指定的模版

    如果添加的agent端数量较少时 , 手动添加还是可以的 , 如果数量较多 , 那么zabbix-server 的Discovery自动发现功能便派上了用场 首先所需要加入的服务器zabbix-age ...

  3. 用echarts.js制作中国地图,点击对应的省市链接到指定页面

    这里使用的是ECharts 2,因为用EChart 3制作的地图上的省市文字标识会有重叠,推测是引入的地图文件china.js,绘制文字的坐标方面的问题,所以,这里还是使用老版本. ECharts 2 ...

  4. zabbix server的Discover功能,实现zabbix agent 大批量的自动添加,并链接到指定的模版(3)

    一.需求 zabbix 服务器可以手动加入zabbix-agent客户端,对于少量的机器,这没有什么.但到了线上,我们有大量的服务器需要监控时,如果再一个个的手动加的话,工作量势必会增加很多.这时,z ...

  5. 右键菜单添加程序,指定图标, Notepad2、Sublime Text 2

    右键添加Sublime Text 打开方式 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Sublime Text] ...

  6. 菜单ACTION控制栏位字段编辑,点击菜单ACTION才能编辑指定的栏位

    范例(axmt500): 目的,控制新增的栏位(价格清单2),需点击菜单栏“修改价格清单2”才能对相应的栏位进行编辑修改,并记录修改人.日期: 1)在规格上增加新ACTION——action_modi ...

  7. ectouch第十一讲 之 ECTouch 菜单里如何添加文章链接

    1.首先在 ectouch 后台添加好文章分类和文章内容(具体添加方法很简单,这里就不再赘述),然后在菜单管理里添加导航如下(链接地址的获取方法参考步骤 2):2.文章分类列表 域名/mobile/i ...

  8. 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里边的 ...

  9. 关于使用连接器arm-linux-ld时指定链接地址的作用

    首先,记住一句话:程序的链接地址必须等于运行地址! 在学习exynos 4412的启动过程时,发现自己对链接地址的作用不是很了解,于是上网查找了资料做了基本了解,在此做个总结. 上图是exynos 4 ...

随机推荐

  1. Alternating Current

    Codeforces Round #200 (Div. 1) B:http://codeforces.com/problemset/problem/343/B 题意:这一题看懂题意是关键,题目的意思就 ...

  2. Java位运算总结:位运算用途广泛《转》

    前天几天研究了下JDK的Collection接口,本来准备接着研究Map接口,可是一查看HashMap类源码傻眼咯,到处是位运算实现,所以我觉得还是有必要先补补位运算知识,不然代码看起来有点费力.今天 ...

  3. struts2-core-2.1.6.jar!/struts-default.xml无法加载的问题

    找到合适且匹配的jar包,更改完jar包后要去.metadata---.me_tcat---webapps---项目名----WEB-INF--lib下将多余的jar包去掉,否则还运行时还存在替换掉的 ...

  4. 我的第一份vim程序

    vim太好用了吧!!!根本停不下来啊! devc++再见! /*==================================================================== ...

  5. mapreduce引用第三方jar

    要想让mapreduce程序引用第三方jar文件, 可以采用如下方式: 通过命令行参数传递jar文件, 如-libjars等; 直接在conf中设置, 如conf.set(“tmpjars”,*.ja ...

  6. 综合(奇技淫巧):HDU 5118 GRE Words Once More!

    GRE Words Once More! Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/O ...

  7. HDU 5920 Ugly Problem 【模拟】 (2016中国大学生程序设计竞赛(长春))

    Ugly Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  8. C++引用(Reference)

    引用(Reference)是C++语言相对于C语言的又一个扩充,类似于指针,只是在声明的时候用&取代了*.引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化.引用的声明方 ...

  9. 佛山Uber优步司机奖励政策(1月25日~1月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. Little Kings - SGU 223(状态压缩)

    题目大意:在一个N*N的棋盘上放置M个国王,已知国王会攻击与它相邻的8个格子,要求放置的额国王不能相互攻击,求放置的方式有多少种. 分析:用dp[row][state][nOne],表示本行状态sta ...