1. 模版页,添加一个Master Page,使整个站点有统一的显示风格。
    主页面:
     <div id="content">
              <asp:contentplaceholder id="MainContent" runat="server">
              <!-- Page-specific content will go here【ASP.NET Step by Step】之三 Master Pages and Site Navigation -->
               </asp:contentplaceholder>
【ASP.NET Step by Step】之三 Master Pages and Site Navigation  </div>

    新建的页面:
    Default.aspx
1>

 

2. 站点地图,是一个XML文件,每次添加删除了页面,要更改这个文件
   可以用下面这些标记将站点地图绑定到Menu控件中:

1【ASP.NET Step by Step】之三 Master Pages and Site Navigation<div id="navigation">
2【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <asp:Menu ID="Menu1" runat="server"
3【ASP.NET Step by Step】之三 Master Pages and Site Navigation      DataSourceID="SiteMapDataSource1">
4【ASP.NET Step by Step】之三 Master Pages and Site Navigation    </asp:Menu>
5【ASP.NET Step by Step】之三 Master Pages and Site Navigation
6【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
7【ASP.NET Step by Step】之三 Master Pages and Site Navigation</div>

 

3. Reapter控件的使用,当将SiteMapDataSource绑定到Repeater时,会自动遍历。
    因为SiteMapDataSource控件的ShowStartingNode属性被设为false,所以从站点地图的第二级节点开始。
    使用嵌套,第一层绑定站点第二级,第二层绑定站点第三极:

 1【ASP.NET Step by Step】之三 Master Pages and Site Navigation<asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">
 2【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <ItemTemplate>
 3【ASP.NET Step by Step】之三 Master Pages and Site Navigation        <li>
 4【ASP.NET Step by Step】之三 Master Pages and Site Navigation            <asp:HyperLink runat="server"
 5【ASP.NET Step by Step】之三 Master Pages and Site Navigation            NavigateUrl="<%# Eval("Url") %>">
 6>

这两个Repeater生成的HTML标记(为了节省篇幅一些标记被移除了):

 1【ASP.NET Step by Step】之三 Master Pages and Site Navigation<li>
 2【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <href="/Code/BasicReporting/Default.aspx">Basic Reporting</a>
 3【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <ul>
 4【ASP.NET Step by Step】之三 Master Pages and Site Navigation       <li>
 5【ASP.NET Step by Step】之三 Master Pages and Site Navigation          <href="/Code/BasicReporting/SimpleDisplay.aspx">
 6【ASP.NET Step by Step】之三 Master Pages and Site Navigation            Simple Display</a>
 7【ASP.NET Step by Step】之三 Master Pages and Site Navigation       </li>
 8【ASP.NET Step by Step】之三 Master Pages and Site Navigation       <li>
 9【ASP.NET Step by Step】之三 Master Pages and Site Navigation          <href="/Code/BasicReporting/DeclarativeParams.aspx">
10【ASP.NET Step by Step】之三 Master Pages and Site Navigation            Declarative Parameters</a>
11【ASP.NET Step by Step】之三 Master Pages and Site Navigation       </li>
12【ASP.NET Step by Step】之三 Master Pages and Site Navigation       <li>
13【ASP.NET Step by Step】之三 Master Pages and Site Navigation          <href="/Code/BasicReporting/ProgrammaticParams.aspx">
14【ASP.NET Step by Step】之三 Master Pages and Site Navigation            Setting Parameter Values</a>
15【ASP.NET Step by Step】之三 Master Pages and Site Navigation       </li>
16【ASP.NET Step by Step】之三 Master Pages and Site Navigation    </ul>
17【ASP.NET Step by Step】之三 Master Pages and Site Navigation</li>
18【ASP.NET Step by Step】之三 Master Pages and Site Navigation
19【ASP.NET Step by Step】之三 Master Pages and Site Navigation<li>
20【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <href="/Code/Filtering/Default.aspx">Filtering Reports</a>
21【ASP.NET Step by Step】之三 Master Pages and Site Navigation    【ASP.NET Step by Step】之三 Master Pages and Site Navigation
22【ASP.NET Step by Step】之三 Master Pages and Site Navigation</li>
23【ASP.NET Step by Step】之三 Master Pages and Site Navigation
24【ASP.NET Step by Step】之三 Master Pages and Site Navigation<li>
25【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <href="/Code/CustomFormatting/Default.aspx">
26【ASP.NET Step by Step】之三 Master Pages and Site Navigation      Customized Formatting</a>
27【ASP.NET Step by Step】之三 Master Pages and Site Navigation    【ASP.NET Step by Step】之三 Master Pages and Site Navigation
28【ASP.NET Step by Step】之三 Master Pages and Site Navigation</li>

 

4. 因为我们使用了这样的CSS

#navigation {
 width: 200px;
 top: 5em;
 left: 1em;
 width: 13em; 
 position:absolute;
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size:90%;
}
#navigation ul {
 list-style: none;
 margin: 0;
 padding: 0;
}
#navigation li {
 border-bottom: 1px solid #ED9F9F;
}
#navigation li a  {
 display: block;
 padding: 5px 5px 5px 0.5em;
 border-left: 12px solid #711515;
 border-right: 1px solid #711515;
 background-color: #B51032;
 color: #FFFFFF;
 text-decoration: none;
}
#navigation li a:hover {
 background-color: #711515;
 color: #FFFFFF;
}
#navigation ul ul {
 margin-left: 12px;
}
#navigation ul ul li {
 border-bottom: 1px solid #711515;
 margin:0;
 background-color: #ED9F9F;
 color: #711515;
}
#navigation ul ul a:link, #navigation ul ul a:visited {
 background-color: #ED9F9F;
 color: #711515;
}
#navigation ul ul a:hover {
 background-color: #711515;
 color: #FFFFFF;
}
显示结果是这样的:
【ASP.NET Step by Step】之三 Master Pages and Site Navigation

5. 添加breadcrumb导航
   breadcrumb导航在asp.net 2.0中是简单的-只要添加一个SiteMapPath控件到页面上就可以了;不需要更多的代码。

1【ASP.NET Step by Step】之三 Master Pages and Site Navigation<span class="breadcrumb">
2【ASP.NET Step by Step】之三 Master Pages and Site Navigation    <asp:SiteMapPath ID="SiteMapPath1" runat="server">
3【ASP.NET Step by Step】之三 Master Pages and Site Navigation    </asp:SiteMapPath>
4【ASP.NET Step by Step】之三 Master Pages and Site Navigation</span>

 

6. ViewState   当你点击返回上一级时,你在上一个页面填写的内容会不会还在。
    最终生成HTML时ViewState被系列化并保存在一个隐藏的表单域中。控件用ViewState来记忆它们在页面返回时被程序改变的状态,比如Web控件绑定的数据。如果视图状态允许信息可以在页面返回时保持,它会增大发送到客户端HTML代码的尺寸。
    可以将EnableViewState属性设为false在页面级或者控件级关闭视图状态。

7. Web User Control
   
   

相关文章:

  • 2021-08-09
  • 2022-12-23
  • 2021-12-07
  • 2022-12-23
  • 2021-11-01
  • 2021-08-14
  • 2021-10-28
  • 2022-01-18
猜你喜欢
  • 2021-04-25
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-11-27
  • 2021-05-06
相关资源
相似解决方案