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网站导航及导航控件的文章希望对大家的学习有所帮助。

(0)

相关推荐

  • EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例

    复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Main.aspx.cs" Inherits="Manage_Main" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

  • ASP.NET站点导航应用详解

    导航实际上给访问者提供了一个地图类似的东西,让访问者更快地找到想要的东西. 在2.0中引入了一个很重要的概念,那就是站点地图siteMap这样一个XML文件,但是它后缀不是XML. 若要为站点创建一致的.容易管理的导航解决方案,可以使用asp.net站点导航.asp.net站点导航提供下列功能: 在了解了一些基本知识后,我们来做一个简单的导航的例子. 1.首先创建一个master html代码: <%@ Master Language="C#" AutoEventWireup=&

  • asp.net下xml当作导航数据源实现动态权限

    cs文件里面的代码 复制代码 代码如下: using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.Web

  • Jquery.TreeView结合ASP.Net和数据库生成菜单导航条

    下面的例子将结合项目实际运用来使用Jquery.TreeView,当然在使用控件树需要现在相应的js文件 下面就把我生成的TreeView展现给大家看看希望对大家有所帮助!在使用之前需要下载控件树的js文件和Css样式 介绍一下表结构 M_ID M_Name M_ParentID M_URL M_Sort 然后新建一个网站,在新建的网站下添加CSS文件夹和js文件夹分别用于存放Css样式和JS,同时再添加一个image文件夹用于存放TreeView的图片 接着我们就开始实现我们的功能了! 前台代

  • Asp.net 页面导航的几种方法与比较 分享

    一.超级链接 从一个表单进入另一个表单最简单的方式是使用HTML超级链接控件.在Web表单中,使用超级链接的HTML代码类如: 复制代码 代码如下: <a href="WebForm2.aspx">进入表单2</a> 当用户点击该超级链接,WebForm2.aspx执行并将结果发送到浏览器.超级链接导航方式几乎可用于任何地方,包括HTML页面和普通的ASP页面.ASP.NET还提供了另一种可替换使用的方法,即HyperLink服务器控件: 复制代码 代码如下:

  • ASP.NET中 TextBox 文本输入框控件的使用方法

    TextBox控件又称文本框控件,为用户提供输入文本的功能. 1.属性 TextBox控件的常用属性及说明如表1所示. 表1 TextBox控件常用属性及说明 属性 说明 AutoPostBack 获取或设置一个值,该值指示无论何时用户在TextBox控件中按〈Enter〉键或〈Tab〉键时,是否自动回发到服务器的操作 CausesValidation 获取或设置一个值,该值指示当TextBox控件设置为在回发发生时进行验证,是否执行验证 ID 控件ID Text 控件要显示的文本 TextMo

  • ASP.NET中HiddenField隐藏域控件的使用方法

    HiddenField控件的作用简单的说是用于存储需要在向服务器的发送间保持的值.它作为 <input type= "hidden"/> 元素呈现,并且通过添加runat="server"就可以使它成为标准的HTML服务器控件.下面列出的是ASP.NET HiddenField Web服务器控件可以使用的属性和事件. 复制代码 代码如下: <asp:HiddenField     EnableTheming="True|False&quo

  • asp.net动态加载用户控件,关于后台添加、修改的思考

    看下下面这个典型的后台(比较粗糙):说实在,我很厌倦全部用.aspx文件去做,比如"友情连接"这个模块,就有"添加友情连接""修改友情连接""友情连接列表",简单的话,可以把"添加""修改"合成一个文件.每次都去建立一个.aspx文件.我现在的想法是用"用户控件+配置文件"去实现,虽然文件数目可能不会少很多.但在编程到一定地步,我想大家会有跟我一样的想法. 首先需要涉

  • asp.net mvc4中bootstrap datetimepicker控件的使用

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

  • ASP.NET中Literal与Label控件的区别

    一.方案和背景 Literal 控件表示用于向页面添加内容的几个选项之一.对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中.但是,如果要动态添加内容,则必须将内容添加到容器中.典型的容器有 Label 控件.Literal 控件.Panel 控件和 PlaceHolder 控件. Literal 控件与 Label 控件的区别在于 Literal 控件不向文本中添加任何 HTML 元素.(Label 控件呈现一个 span 元素.)因此,Literal 控件不支持包括位置属

  • ASP.NET中 RadioButtonList 单选按钮组控件的使用方法

    RadioButtonList 控件表示一个封装了一组单选按钮控件的列表控件. 可以使用两种类型的 ASP.NET 控件将单选按钮添加到网页上:各个 RadioButton 控件或一个 RadioButtonList 控件.这两类控件都允许用户从一小组互相排斥的预定义选项中进行选择.使用这些控件,可定义任意数目的带标签的单选按钮,并将它们水平或垂直排列. 一.常用属性 属性 值 作用 RepeatDirection Horizontal|Vertical 项的布局方向:水平方向|竖直风向 Rep

  • ASP.NET中 ListBox列表框控件的使用方法

    ListBox 控件允许用户从预定义的列表中选择一个或多个项.它与 DropDownList 控件的不同之处在于,它不但可以一次显示多个项,而且(可选)还允许用户选择多个项. 一.属性 属性 值 作用 SelectionMode Single|Multiple 列表选择模式:单选|多选 Selected False|True 是否为选中状态 二.示例 ListBox.aspx 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup=&q

  • ASP.NET中ImageButton图片按钮控件的使用

    ImageButton 说白了,就是一个能显示图片的按钮,用法和Button基本一致,无非就是点击之后触发事件,只是比Button展现更丰富一些. 一.常见 ImageButton 属性 属性 描述 ImageUrl 在 ImageButton 控件中显示的图像的路径. ToolTip 提示的文本. AlternateText 图像无法显示时显示的文本. 二.ImageButton实例演示 前台代码 ImageButton.aspx 复制代码 代码如下: <%@ Page Language=&quo

  • ASP.NET多文件上传控件Uploadify的使用方法

    对于Uploadify文件上传之前已经讲过一次(文件上传~Uploadify上传控件),只不过没有涉及到多文件的上传,这回主要说一下多个文件的上传,首先,我们要清楚一个概念,多文件上传前端Uploadify是通过轮训的方式去调用我们的后台upload程序的,所以,对于多文件上传来说,也没什么稀奇的. 下面是文件上传后的缩略图如下 列表的组装使用JS模板,这样对于复杂的HTML结构来说,可以减少拼写错误的出现,关闭是将LI元素从UI元素移除,最后提交时,从UI里检查LI元素,然后对它进行组装,并进

  • ASP.NET MVC引入JQUERY JQRTE控件

    主要步骤如下: 1,在asp.net mvc项目中引入jqrte类库,声明辅助类用于存储服务器端上载文件的信息 复制代码 代码如下: public class ViewDataUploadFilesResult { public string message { get; set; } //public int Length { get; set; } public string imagepath { get; set; } public string error { get; set; }

随机推荐