1.设置用户控件中img标签的图片路径时,可以使用ResolveUrl来实现。
<img src="<%=ResolveUrl("~/images/Default/index_bottom1.gif") %>"/>
上面的效果与使用Image服务器控件,设置它的ImageUrl="~/images/Default/index_bottom1.gif"的效果是一样的。
2.在用户控件中发送ajax请求时,设置请求的URL路径。
、发现利用服务器控件不会出现任何问题。服务器端路径服务器端可以自动转化,如果你加入ResolveUrl会发现反而画蛇添足!
2、如果用了HTML控件,条件是:如果一个用户控件目录里中有一个用户控件,此用户控件利用HTML控件来显示其他目录里的图片,此时如果此用户控件拖放到根目录上的网页时,不能正确显示图片,此时必须用ResolveUrl方法,就不会出现问题。写法是:<img src='<%=ResolveUrl("../Images/head.JPG") %>' />
一句话:如果你用html控件或html标签最好加上ResolveUrl方法,以防止出错;如果是用服务器控件就不用考虑ResolveUrl方法了。
===================
原方到此止。
我补一下,^_^
实际工作中,最多是与数据打交道。那么怎么用ResolveUrl与<%#Eval("")%>结合呢,哈哈
<%# ResolveUrl(string.Format("~/Demo.aspx?Param={0}", Eval("'DataItem'")) %>
OR
<%# ResolveUrl((string)Eval("id", "~/Demo.aspx?iParam={0}")) %>
OR
<a href='<%# ResolveUrl("~/a.aspx?Param=") + Eval('DataItem')%>'>
ResolveUrl MSDN上的例子是
对了,这个方法主要是用于“用户控件”中的图片。其它地方也可能,但是本人觉得没有必要,因为~的存在。
<img src='<%= ResolveUrl("~/images/top.gif") %>'>
<td height="20" background='<%= ResolveUrl("~/images/top.gif") %>'></td>
1
2
3
4
5
6
7
8
9
10
11
|
<SPAN style=
"FONT-SIZE: 14px"
>$.ajax({
type:
"get"
,
url:
'<%=ResolveUrl("~/Handler/Test.ashx") %>'
,
dataType:
"json"
,
success: function (result) {
$.each(result, function (index, data) {
});
}
});
</SPAN>
|