1.母板中的路径问题

如果你使用了母板,同时母板里面又使用了和“路径”有关的标签,比如

头部:

<script type="text/javascript" src="scripts/jquery.js"></script>

<link type="text/css" rel="stylesheet" href="styles/common.css" />

body:

<img src="p_w_picpaths/logo.png" alt="****有限公司" />

<a href="about/index.aspx">关于本站</a>

这时候你要注意了,你得看看你的aspx文件层次是否对应到母板里的路径结构,比如aspx存在不同的目录嵌套:

如:

根:default.aspx

下级:

根/about/default.aspx

根/job/list.aspx

。。。。

这种情况要求你的母板里路径不能是死的。

那么怎么办呢?

大家知道有个~/指的就是项目的跟路径位置,

但是需要服务端控件支持,而我们的<a>,<img>这里不是服务器控件,好在有个runat="server"能够转化。

于是

<img src="~/p_w_picpaths/logo.png" alt="****有限公司" runat="server" />

<a href="~/about/index.aspx" runat="server">关于本站</a>

这是绝对路径方式,当然也可以用../的相对路径方式。

但是要注意服务端控件的相对路径方式相对项目本身而言的!!这样不必你关心将来的部署,只管好项目的目录层次就OK了。

你也可以用<asp:***>的服务器控件。

如果不想用服务器控件,也有个办法解析"~/"的,那就是Page.ResolveUrl()和Page.ResolveClientUrl()

区别是ResolveUrl解析为跟路径方式/aaa/bb/aa/**

如果网站或者测试开发中一般都是在虚拟目录里工作,所以这里不用这个版本。

下面代码:

<link type="text/css" rel="stylesheet" href="<%=Page.ResolveClientUrl("~/") %>styles/common.css" />

<script type="text/javascript" src="<%=Page.ResolveClientUrl("../") %>scripts/jquery.js"></script>

这个是../呵呵。

我问个问题,这里的"../"是相对于生成的aspx页面,还是当前这个母板文件?

答案是:相对于母板这个文件,因为这个是对应项目而言的相对路径。

<img src="../p_w_picpaths/logo.png" alt="****有限公司" runat="server" />

<img src="../p_w_picpaths/logo.png" alt="****有限公司"/>

这两个里面的"../"呢?

答案是:runat的那个服务器控件对项目而言的相对路径,下面那个是死的,对各自的aspx文件而已,实际中谨慎使用。

总之,我们应该养成母板里用到路径时而立马想到上面的灵活方式,考虑是用服务器控件还是方法解析。

转载于:https://blog.51cto.com/xcf007/473621

asp.net母板使用注意相关推荐

  1. Spring.NET学习笔记——前言

    Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入.面向方面编程(AOP).数据访问抽象及ASP.NET扩展等等.Sprin ...

  2. Step by Step WebMatrix网站开发之二:使用WebMatrix(3)

    要学好用好一个工具,最好的办法是从模板入手,因而今天的任务就是从模板建立一个网站,然后分析一下模板的构成. 在WebMatrix开始页,单击"从模板创建网站",然后选择" ...

  3. [翻译]在Asp.net 2.0中操作数据::母板页和站点导航

    在Asp.net 2.0中操作数据::母板页和站点导航 英文原文 |  下载示例代码(C#)  |  翻译进度  |  英文教程目录 导言 通常,用户友好的个性化站点都有着一致的,站点统一的页面布局和 ...

  4. ASP.NET2.0数据操作之母板页和站点导航

    http://www.anqn.com/aspx/2009-06-21/a09111817.shtml

  5. Scott的ASP.net MVC框架系列文章之四:处理表单数据(2)

    前几周我发表了一系列文章介绍我们正在研究的ASP.NET MVC框架.ASP.NET MVC框架为你提供了一种新的开发Web应用程序的途径,这种途径可以让应用程序变得更加层次清晰,而且更加有利于对代码 ...

  6. MVC 之 架构的基本原理及Asp.Net实现MVC

    一.引言 许多Web应用都是从数据存储中检索数据并将其显示给用户.在用户更改数据之后,系统再将更新内容存储到数据存储中.因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部 ...

  7. 提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成

    2019独角兽企业重金招聘Python工程师标准>>> 之前写了一些关于代码生成的文章,提供了两种不同方式的代码生成解决方案,即CodeDOM+Custom Tool和T4.对于AS ...

  8. ASP.NET用户控件的创建和使用

    ASP.NET用户控件的创建和使用 1. Web用户控件概述 Web用户控件是一种服务器控件,它与ASP.NET页面有着同样的所见即所得的特点,并以.ascx为扩展名存储为文本文件,同样具有自己的界面 ...

  9. asp.net基础复习(二)——母版页

    1. 概述 母版页中包含的是页面公共部分,即网页模板.因此,在创建示例之前,必须判断哪些内容是页面公共部份. 使用 ASP.NET 母版页可以为应用程序中的页创建一致的布局.单个母版页可以为应用程序中 ...

最新文章

  1. “应付”大学作业,我花3小时写了一个“文本转手写”神器
  2. 卷积神经网络(CNN)简介
  3. linux创建ftp指定目录命令行,Linux-命令行建立FTP
  4. 闪电网络介绍以及试用 (上)
  5. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - A. 网友年龄
  6. Unity3D笔记十 游戏元素
  7. mybatis字符串转成数字_Python字符串三种格式化输出
  8. Spring之AOP代理模式
  9. c语言指针查找数组一个数_C语言快速入门——指针与数组
  10. 记录repast4py环境配置
  11. 第五章软件项目风险管理
  12. python如何读取字符串最后一个字符_python 获取字符串最后一个字符
  13. 三步骤详解张正友标定法
  14. leetcode:448. Find All Numbers Disappeared in an Array找到所有数组中消失的数字(C++)
  15. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3, 编程找出 1000 以内的所有完数。
  16. allegro 问题
  17. 计算机应用基础文章 茶的功效,【课程改革论文】茶文化下的计算机应用基础教程课程改革(共5535字)...
  18. [GXYCTF2019]BabyUpload
  19. c51时钟数码管显示流程图_基于51单片机的8位数码管电子时钟仿真图及源代码详细资料概述...
  20. 有趣好玩实用的网站 保证闻所未闻

热门文章

  1. AJAX 实现form表单提交
  2. percona-5.7二进制多实例安装
  3. 关于大型网站技术演进的思考(七)--存储的瓶颈(7)
  4. Java面试题技术类一
  5. Linux 常用命令操作
  6. Linux下find命令详情
  7. 脚本实现用户登录显示信息
  8. 干净架构在 Web 服务开发中的实践
  9. java读取Properties文件及赋值
  10. lnmp集成开发环境安装pdo_dblib扩展