上一篇中提到的~/可以用在服务端控件和服务端代码中使用。
那么还需要注意什么呢,我们比较下图片控件和使用html中的<img />路径的区别吧:
首先。
修改Default.master母板如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Default.master.cs" Inherits="MyWebservice.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 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>
<script type="text/javascript" src="<%=ResolveClientUrl("../js/jquery.js") %>"></script>
<script type="text/javascript">
$(document).ready(function(){
alert("jQuery.")
});
</script>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/qq.jpg" />
<img src="<%=ResolveUrl("~/images/qq.jpg") %>" />
<!-- 下面使用相对路径 -->
<asp:Image ID="Image2" runat="server" ImageUrl="../images/qq.jpg" />
<img src="images/qq.jpg" />
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
然后通过浏览index.aspx和oa/oa.aspx可以体验下.
对比
<asp:Image ID="Image2" runat="server" ImageUrl="../images/qq.jpg" />
<img src="images/qq.jpg" />
可以知道服务器控件是相对于母板的,img是相对页面的。
可以添加runat="server"转换服务器控件。
<img src="../images/qq.jpg" runat="Server" />
<img src="images/qq.jpg" />
对比下。
2.接下来的工作,我们添加主题
项目添加文件夹-主题,名字MyTheme。
好了里面我就放一个Default.css里面只写一句话,测试嘛。
img{border:2px solid #333;}
然后index.aspx和oa.aspx引入主题Theme="MyTheme"然后,执行看看会出错:
“/”应用程序中的服务器错误。
控件包含代码块(即 <% ... %>),因此无法修改控件集合。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System.Web.HttpException: 控件包含代码块(即 <% ... %>),因此无法修改控件集合。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
网上现在的用法是把js这块拿出head区,放在body里。实际是可行的。 本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/344259,如需转载请自行联系原作者 |