完成SiteMapPath实现导航/完成Menu实现导航/完成TriewView实现导航

来源:互联网 发布:mac 双击打不开文件夹 编辑:程序博客网 时间:2024/05/21 23:34

作业:
1 完成SiteMapPath实现导航(如课上联系的首页-财经-体育-)
Web.sitemap
 
<?xml version="1.0" encoding="utf-8" ?>
 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
     <siteMapNode url="default.aspx" title="首页"  description="">
      
            <siteMapNode url="tiyu.aspx" title="体育"  description="点击进入体育" >
                    <siteMapNode url="Guoneituyu.aspx" title="国内体育"  description="" />
                    <siteMapNode url="aoyun.aspx" title="奥运会"  description="" />
                    </siteMapNode>
             <siteMapNode url="caijin.aspx" title="财经"  description="" >
                   <siteMapNode url="gupiao.aspx" title="股票"  description="" />
                   <siteMapNode url="dichan.aspx" title="地产"  description="" />
            </siteMapNode>
      
      <siteMapNode url="qiche.aspx" title="汽车"  description=""/>
     </siteMapNode>
 </siteMap>
 
default.aspx
 
 <div>
    
        <asp:SiteMapPath ID="SiteMapPath1" runat="server">
         </asp:SiteMapPath>
         <br />
         <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
             <Items>
                 <asp:MenuItem Text="首页" Value="首页">
                     <asp:MenuItem Text="体育" Value="体育"></asp:MenuItem>
                 </asp:MenuItem>
             </Items>
         </asp:Menu>
         <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />   
 
    </div>

2 完成Menu实现导航


3 完成TriewView实现导航---(1)绑定站点地图
(2)设计界面绑定节点(3)手动绑定节点(4)绑定数据表--

(1)绑定站点地图
Web.sitemap
 
<?xml version="1.0" encoding="utf-8" ?>
 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
   <siteMapNode url="default.aspx" title="首页"  description="">
     <siteMapNode url="net.aspx" title="net方向"  description="">
       <siteMapNode url="NetCause.aspx" title="net第一学期"  description="" />
       <siteMapNode url="NetCause2.aspx" title="net第二学期"  description="" />
 
    </siteMapNode>
     <siteMapNode url="java.aspx" title="Java方向"  description="" >
       <siteMapNode url="javaTerm.aspx" title="java第一学期"  description="" />
       <siteMapNode url="javaTerm2.aspx" title="java第二学期"  description="" />
     </siteMapNode>
 
    <siteMapNode url="php.aspx" title="php方向"  description="" />
   </siteMapNode>
 </siteMap>
 

default.aspx
 
<div>
         <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1">
         </asp:TreeView>
    
    </div>
     <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
 (2)设计界面绑定节点
 
<asp:TreeView ID="TreeView1" runat="server">
         <Nodes>
             <asp:TreeNode Text="软件工程系" Value="软件工程系">
                 <asp:TreeNode Text="net" Value="net"></asp:TreeNode>
                 <asp:TreeNode Text="java" Value="java"></asp:TreeNode>
                 <asp:TreeNode Text="php" Value="php"></asp:TreeNode>
                 <asp:TreeNode Text="3g" Value="3g"></asp:TreeNode>
             </asp:TreeNode>
             <asp:TreeNode Text="智能工程系" Value="智能工程系">
                 <asp:TreeNode Text="工程造价" Value="工程造价"></asp:TreeNode>
             </asp:TreeNode>
         </Nodes>
     </asp:TreeView>
 
 
 
(3)手动绑定节点
 
Demo2.aspx.cs
 
TreeNode root = new TreeNode("河北软件职业技术学校", "河北软件职业技术学校");
             root.NavigateUrl = "http://www.hbsi.com.cn/";
           

            TreeNode soft = new TreeNode("软件工程系", "软件工程系");
             soft.NavigateUrl = "http://221.192.237.88:8001/rjx";
             root.ChildNodes.Add(soft);
 
            TreeNode web = new TreeNode("网络工程系", "软件工程系");
             soft.NavigateUrl = "http://wlgcx.hbsi.edu.cn:8081/";
 
            root.ChildNodes.Add(web);
             this.TreeView1.Nodes.Add(root);
 

 
Demo2.aspx
 
<body>
     <form id="form1" runat="server">
     <div>
    
        <asp:TreeView ID="TreeView1" runat="server">
         </asp:TreeView>
    
    </div>
     </form>
 </body>
 
(4)绑定数据表--
 
using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Web.UI;
 using System.Web.UI.WebControls;
 using System.Configuration;
 using System.Data;
 using System.Data.SqlClient;
 
namespace TreeViewDemo
 {
     public partial class TreeDemo3 : System.Web.UI.Page
     {
       
      protected void Page_Load(object sender, EventArgs e)
     {
          if (!IsPostBack)
             bindTree();
     }
     private void bindTree()
     {
         DataTable dt = this.GetTreeData();
         this.FillNode(dt, null);
     }
     private void FillNode(DataTable dt, TreeNode node)
     {
         DataView dv = new DataView(dt);
         if (node == null)    //根结点
         {
            dv.RowFilter = "parentid='0'";  //筛选到根结点的所有子节点
         }
         else  //不是根结点
         {
             dv.RowFilter = "parentid='" + node.Value + "'";   //筛选对应节点的所有子节点
         }
         foreach (DataRowView drv in dv)   //遍历填充节点的所有子节点,如果传入的节点node为叶子节

点,遍历要退出,不再进行递归
         {
             TreeNode no = new TreeNode(drv["menuname"].ToString(), drv["menuid"].ToString());
             FillNode(dt, no);  //填充no节点的子节点
             if (node == null)
             {
                 this.TreeView1.Nodes.Add(no);
             }
             else
             {
                 node.ChildNodes.Add(no);
             }
         }       
    }
     private DataTable GetTreeData()
     {
         string strcnn = ConfigurationManager.ConnectionStrings["treecnn"].ConnectionString;
         using (SqlConnection sqlcnn = new SqlConnection(strcnn))
         {
             SqlCommand sqlcmm = sqlcnn.CreateCommand();
             sqlcmm.CommandText = "select * from MenuTree order by parentid,menuorder";
             SqlDataAdapter da = new SqlDataAdapter(sqlcmm);
             DataSet ds = new DataSet();
             da.Fill(ds);
             return ds.Tables[0];
         }
     }
    
    }
 }

原创粉丝点击