asp.net母板使用注意
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母板使用注意相关推荐
- Spring.NET学习笔记——前言
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入.面向方面编程(AOP).数据访问抽象及ASP.NET扩展等等.Sprin ...
- Step by Step WebMatrix网站开发之二:使用WebMatrix(3)
要学好用好一个工具,最好的办法是从模板入手,因而今天的任务就是从模板建立一个网站,然后分析一下模板的构成. 在WebMatrix开始页,单击"从模板创建网站",然后选择" ...
- [翻译]在Asp.net 2.0中操作数据::母板页和站点导航
在Asp.net 2.0中操作数据::母板页和站点导航 英文原文 | 下载示例代码(C#) | 翻译进度 | 英文教程目录 导言 通常,用户友好的个性化站点都有着一致的,站点统一的页面布局和 ...
- ASP.NET2.0数据操作之母板页和站点导航
http://www.anqn.com/aspx/2009-06-21/a09111817.shtml
- Scott的ASP.net MVC框架系列文章之四:处理表单数据(2)
前几周我发表了一系列文章介绍我们正在研究的ASP.NET MVC框架.ASP.NET MVC框架为你提供了一种新的开发Web应用程序的途径,这种途径可以让应用程序变得更加层次清晰,而且更加有利于对代码 ...
- MVC 之 架构的基本原理及Asp.Net实现MVC
一.引言 许多Web应用都是从数据存储中检索数据并将其显示给用户.在用户更改数据之后,系统再将更新内容存储到数据存储中.因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部 ...
- 提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成
2019独角兽企业重金招聘Python工程师标准>>> 之前写了一些关于代码生成的文章,提供了两种不同方式的代码生成解决方案,即CodeDOM+Custom Tool和T4.对于AS ...
- ASP.NET用户控件的创建和使用
ASP.NET用户控件的创建和使用 1. Web用户控件概述 Web用户控件是一种服务器控件,它与ASP.NET页面有着同样的所见即所得的特点,并以.ascx为扩展名存储为文本文件,同样具有自己的界面 ...
- asp.net基础复习(二)——母版页
1. 概述 母版页中包含的是页面公共部分,即网页模板.因此,在创建示例之前,必须判断哪些内容是页面公共部份. 使用 ASP.NET 母版页可以为应用程序中的页创建一致的布局.单个母版页可以为应用程序中 ...
最新文章
- “应付”大学作业,我花3小时写了一个“文本转手写”神器
- 卷积神经网络(CNN)简介
- linux创建ftp指定目录命令行,Linux-命令行建立FTP
- 闪电网络介绍以及试用 (上)
- 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - A. 网友年龄
- Unity3D笔记十 游戏元素
- mybatis字符串转成数字_Python字符串三种格式化输出
- Spring之AOP代理模式
- c语言指针查找数组一个数_C语言快速入门——指针与数组
- 记录repast4py环境配置
- 第五章软件项目风险管理
- python如何读取字符串最后一个字符_python 获取字符串最后一个字符
- 三步骤详解张正友标定法
- leetcode:448. Find All Numbers Disappeared in an Array找到所有数组中消失的数字(C++)
- 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3, 编程找出 1000 以内的所有完数。
- allegro 问题
- 计算机应用基础文章 茶的功效,【课程改革论文】茶文化下的计算机应用基础教程课程改革(共5535字)...
- [GXYCTF2019]BabyUpload
- c51时钟数码管显示流程图_基于51单片机的8位数码管电子时钟仿真图及源代码详细资料概述...
- 有趣好玩实用的网站 保证闻所未闻