ASP.NET网站导航及导航控件如何使用_实用技巧

网站导航?

传统的网站导航需要我们在是在页面上弄超链接的方式来实现的,在页面修改或移动的的时候需要一一在每个页中都要进行修改,这样会很麻烦。
在网站中建立网站地图,也就是把所有的链接地址放在一个专门的文件中进行统一管理,这样就很方面的进行管理。
怎么弄网站导航?怎么做?

需要在VS中新建网站地图文件,再把网站地图文件与我们想要的导航控件相关联,这样就可以实现导航的效果了,我们要更改某个地址,就直接在站点地图.siteMap文件中更改就行了。
vs中如何添加网站地图?

在vs中新建项中选择"站点地图"新建站点地图。
要使用站点地图,我们需要把站点地图文件添加到网站根文件夹下。
在新建一个站点地图文件的时候,默认的代码如下所示:

<?xml version="1.0"encoding="utf-8" ?>
<siteMapxmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNodeurl="" title="" description="">
    <siteMapNodeurl=""title="" description="" />
    <siteMapNodeurl=""title="" description="" />
  </siteMapNode>
</siteMap>

我们可以从代码中看出文件的根元素siteMap包含了<siteMapNode>元素,这些<siteMapNode>元素形成树形结构,第一层为网站的主页。
<siteMapNode>元素常用的属性表。

复杂的导航为了更能清晰的显示,我们可以多用几个.mapMap文件,也就是嵌套网站地图。
我们在新建一个文件夹,在这个文件夹下建两个网站地图文件,Products.siteMap和Servers.sitMap,建立Web.siteMap放到网站的根目录下,用web.site的siteMapFile属性来链接其他两个.siteMap文件。 代码如下所示:
Products.siteMap:

<?xml version="1.0"encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode title="Products" description="我们的产品"
        url="~/chap/Products.aspx">
    <siteMapNode url="~/chap/Software.aspx"title="软件" description="软件的提供" />
    <siteMapNode url="~/chap/Hardware.aspx"title="硬件" description="硬件的提供" />
  </siteMapNode>
</siteMap>
Services.siteMap文件:
<?xml version="1.0"encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNodeurlsiteMapNodeurl="~/chap/Services.aspx"title="Services" description="我们提供的服务">
     <siteMapNode url="~/chap/Training.aspx"title="训练" description="训练" />
     <siteMapNode url="~/chap/Consulting.aspx"title="咨询" description="问题咨询" />
     <siteMapNode url="~/chap/Support.aspx"title="支持" description="技术支持" />
  </siteMapNode>
</siteMap>

Web.siteMap文件:

<?xml version="1.0"encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNodeurlsiteMapNodeurl="home.aspx" title="home" description="home">
    <siteMapNode siteMapFile="~/chap/Products.sitemap" />
    <siteMapNodesiteMapFilesiteMapNodesiteMapFile="~/chap/Services.sitemap" />
  </siteMapNode>
</siteMap> 

导航地图建立完了,接下来显示导航地图。
SiteMapPath控件显示导航

直接把控件拖动到要导航的页面就可以了。控件会自动与导航地图进行绑定。
显示:

TreeView控件显示导航

TreeView控件通常用来树形结构的站点导航,可以用来显示XML、表格或关系数据。
基本的操作:
TreeView每个节点其实都一个是个TreeNode类的对象。可以通过编程操作TreeNode对象动态的添加和修改。可以通过数据源控件进行绑定,例如通过SiteMapDataSource空调感觉爱你或XmlDataSource控件。
TreeViewcollapseAll()和ExpandAll()方法折叠和展开节点。利用Nodes.Add()方法添加到节点到控件中,Nodes.Remove()方法删除指定节点。
DEMO:

在这里只是为了熟悉TreeView,也没有实现,鼠标右击对TreeView操作,和只刷新TreeView控件,以及和数据绑定。只是为了熟悉TreeView而熟悉TreeView。
myTreeView代码:

<%@ PageLanguage="C#" AutoEventWireup="true"CodeFile="Menu.aspx.cs"Inherits="Menu" %>
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 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></title>
</head>
<body>
  <formidformid="form1" runat="server">
  <div>
  </div>
  <asp:Menu ID="Menu1" runat="server">
    <Items>
      <asp:MenuItem Text="米老师" Value="米老师"></asp:MenuItem>
      <asp:MenuItem Text="七期" Value="七期">
      <asp:MenuItem Text="师姐一" Value="师姐一"></asp:MenuItem>
      <asp:MenuItem Text="师姐二" Value="师姐二"></asp:MenuItem>
      </asp:MenuItem>
      <asp:MenuItem Text="八期" Value="八期">
      <asp:MenuItem Text="英语部" Value="英语部"></asp:MenuItem>
      <asp:MenuItem Text="值日生部门" Value="值日生部门"></asp:MenuItem>
      </asp:MenuItem>
      <asp:MenuItem Text="九期" Value="九期"></asp:MenuItem>
      <asp:MenuItem Text="十期" Value="十期"></asp:MenuItem>
      <asp:MenuItem Text="十一期" Value="十一期"></asp:MenuItem>
    </Items>
   </asp:Menu>
  </form>
 </body>
</html> 

 C#代码:

public partial class chap_myTreeView: System.Web.UI.Page
{
  //移除当前节点
  protectedvoid RemoveNode_Click(object sender, EventArgs e)
   {
     //如果存在当前节点。
     if (myTreeView.SelectedNode !=null)
    {
      //获取当前节点的父节点。
      TreeNode parentNode= myTreeView.SelectedNode.Parent;
      //移除当前节点。
      if (parentNode !=null)
      { parentNode.ChildNodes.Remove(myTreeView.SelectedNode); }
       else
      {
         myTreeView.Nodes.Remove(myTreeView.SelectedNode);
      }
    }
  }
   //添加当前节点。
  protectedvoid AddNode_Click(object sender, EventArgse)
  {
     //如果添加当前节点的值为空,则返回。 

    if (txtAdd.Text.Trim().Length <1)
    {
       return;
    }
     //建立节点的childNode,设置Value属性。
     TreeNode chileNode = new TreeNode();
    //给新加的节点赋值。
    chileNode.Value = txtAdd.Text.Trim();
    //判断是否选中一个节点。
    if (myTreeView.SelectedNode !=null)//如果存在当前节点。
    {
       //将新的childNode对象添加到当前节点。
      myTreeView.SelectedNode.ChildNodes.Add(chileNode);
      txtAdd.Text = "";
    }
    else
     {
      //作为根节点添加到树中。
      myTreeView.Nodes.Add(chileNode);
      //清楚文本框。
     txtAdd.Text = "";
    }
  }
  //将树全部的折叠。
  protectedvoid FlodNodes_Click(object sender, EventArgs e)
  {
     myTreeView.CollapseAll();//将树全部折叠起来.
  }
   //全部展开.
  protectedvoid OpenAllNode_Click(object sender, EventArgs e)
  {
    myTreeView.ExpandAll();//全部展开树.
  }
} 

效果:

 

Menu控件和TreeView大同小异,在这就不赘述了。
        Word中的导航让我们一目了然的了解到文章的主体内容,我想每个看过厚厚文档的程序员对word的导航都深有体会。清晰合理的导航有效引导用户到网站的各个角落,百度地图能让我们找到每一块有名字的土地。一篇文章上说过,SEO行业里总流传着这么句经典话语:“内容为王,外链为皇,内链为妃,关键词为相,代码为将,结构为城,更新为太子,百度垂帘听政。那导航不就是链接地址,也就处在皇妃的位置了。。。。

希望这篇关于ASP.NET网站导航及导航控件的文章希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索asp.net
, 网站导航
导航控件
,以便于您获取更多的相关知识。

时间: 2024-10-14 22:05:22

ASP.NET网站导航及导航控件如何使用_实用技巧的相关文章

asp.net mvc4中bootstrap datetimepicker控件的使用_实用技巧

前段时间写了一篇关于调用阿里大于的短信接口来开发例会短信群发通知功能的文章http://www.jb51.net/article/94142.htm,其中的例会时间是需求中的重中之重,它需要满足"格式化","易输入"这两点,对短信费用关心的开发者要知道长短信是两条短信费用之和,因此,例会时间不能随意交给用户自定义输入:要考虑到"易输入"这点,只能选择日期选择控件来辅助用户输入,由于日期选择控件较为小巧使用,在页面中引入并不是难事.在本篇文章中,使

浅谈ASP.NET常用数据绑定控件优劣总结_实用技巧

本文的初衷在于对Asp.net常用数据绑定控件进行一个概览性的总结,主要分析各种数据绑定控件各自的优缺点,以便在实际的开发中选用合适的控件进行数据绑定,以提高开发效率. 因为这些数据绑定控件大部分都已经封装的很好了,稍微有一些基础的朋友都可以很容易的上手使用,所以本文不涉及具体控件的使用,只在于分析各自的优劣点,但是在下一篇文章里,我会主要讲一下ListBox.GridView.Repeater这三个数据绑定控件的"高效分页",ListBox和GridView内置的有分页,但是其效率太

Asp.Net分页和AspNetPager控件的使用_实用技巧

下面就来重点说说这几种分页方式: 一般情况下我们都是通过sql语句来分页,这在无论哪种开发语音都是通用的, 使用sql语句或者存储过程分页的方式最主要的是要在读取数据的时候把sql语句或者存储过程写好,它的原理是只读取当前要显示的几行记录,所以要根据页数和每页显示的数目来写语句,如下: Select top pageSize * from News where id not in(select top (Page-1)*pageSize id from News) 很显然只要将pageSize和

ASP.Net 分页控件源码_实用技巧

特性: .支持datagrid,datalist等分种数据显示控件,理论上只要有datasource的控件都可以 .支持url方式分页,url分页的每一页都可以被搜索引擎搜到,并且支持url重写 .控件样式可自定义 .封装完全,使用过程序只需写一行代码 复制代码 代码如下: /****************************************************************** ** 文件名:Pager.cs ** 创建人:杨响武 ** 日 期:2005年7月27日

Asp.net 菜单控件简洁版_实用技巧

本文介绍的菜单控件采用的css 和ul list来显示菜单,生成的html小,无需javascript支持,对大部分的浏览器都支持,除ie6要单独修改css也可以使其支持. 通过本文可以了解asp.net 控件的开发,及Composite设计模式的实际运用. 采用Composite设计模式设计菜单类: MenuCompositeitem类 复制代码 代码如下: namespace Ruinet.Controls { [Serializable()] public class MenuCompos

ASP.NETWeb服务器验证控件如何使用_实用技巧

什么是验证控件? 希望用户输入正确的类型的数据,为了验证用户输入是否满足要求,必须对输入的值.范围或格式进行检查..NET中验证控件在哪里? 在工具箱的验证分组里.常用的ASP.NET控件几个?分别是什么? 1)CompareValidator控件:与给定值比较. 2)CustomValidator控件:用户自己定制校验逻辑 3)RangeValidator控件:检查控件的值是否在给定的有效范围内. 4)RegularExpressValidator控件:使用正则表达式验证用户输入的数据是否符合

ASP.NET用户控件如何使用_实用技巧

用户控件用来做什么? 用户控件常常用来统一网页显示风格.关于用户控件 1.用户控件的扩展名为.ascx. 2.用户控件中没有@Page指令,而是包含@Control指令. 3.用户控件不能做为独立文件运行,必须创建ASP.net页面,后添加. 4.在用户控件上可以使用相同的XHTML元素和Web服务器控件.例如,Button可以放到用户控件中,并创建按钮的事件处理.创建用户控件 在vs中新建项中选择用户控件.(也可以将单个文件转化为用户控件.) 制作用户控件. 例如: 用户控件代码:WebUse

详解ASP.NET数据绑定操作中Repeater控件的用法_实用技巧

一.绑定控件之Repeater.NET封装了多种数据绑定控件,诸如GridView.DataList等但该篇文章将会从Repeater入手,因为Repeater只提供了基本的数据绑定模板,没有内置其它分页等功能,所以它是最原始的数据绑定控件,只要能够熟练运用Repeater控件其它的绑定控件也就很简单了.1.Repeater简介Repeater 控件是基本模板化数据列表. 它不像GridView控件一样能够可视化的设计格式或样式,因此开发时在控件模板中必须显式声明所有格式.格式和样式标记.另外R

ASP.NET中repeater控件用法实例_实用技巧

本文实例讲述了ASP.NET中repeater控件用法.分享给大家供大家参考.具体实现方法如下: repeater绑定数据: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) {         if(!IsPostBack)             BindStudent(); } private void BindStudent() {         string str = ConfigurationManag