使用ResolveUrl设置相对路径

转载 2012年03月27日 16:26:19
在使用用户控件时,会碰到这样的问题,如果要设置html控件的路径,有时可能会出问题。因为用户控件可能要在多个页面使用,在不同的页面路径可能不同,为了保证用户控件在所有的页面都能使用,并且html控件的路径不会出问题,可以使用ResolveUrl这个方法来设置路径。ResolveUrl方法可以返回页面所在应用程序下的相对地址。

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>

asp.net中的ResolveUrl 完美解决方案

根据我个人使用ASP.NET的经验,和通过在网上搜索。我发现,Page的ResolveUrl方法给我们带来了一些比较严重的问题。     最常见的问题是在页面或控件以外的范围不能使用它。     其他...
  • educast
  • educast
  • 2010年01月22日 20:24
  • 1214

asp.net2.0解决相对路径出错的问题,ResolveUrl的用法

1、首先我们做个测试的例子,如果你的目录是按下图组织的,TestResolveUrl是你的网站根目录,下面有一个/Images目录 放置图片一个图片head.JPG,用户控件Head.ascx放置在/...

ResolveUrl() 和 ResolveClientUrl()

ResolveUrl()  /   ResolveClientUrl() 两个方法都是传递一个相对的 URL,然后返回一个相对于当前客户端浏览器的相对URL地址 但是两者的返回值,却截然不同 ...
  • L0veIT
  • L0veIT
  • 2012年07月25日 13:22
  • 996

Java学习笔记--整合数据库

前言 这部分的知识如果在了解一些数据库的基本知识与操作之后学习的话会比较有感触,所以如果你没有数据库的基础,我建议大家先阅读一下我推荐的这篇文章,对我们的学习是非常有必要的(使用MysQL数据库)...

Java网络爬虫(十一)--使用多线程全面提升爬虫性能

在开始说正事之前我先给大家介绍一下这份代码的背景,以免大家有一种雾里看花的感觉。在本系列的前几篇博客中有一篇是用多线程进行百度图片的抓取,但是当时使用的多线程是非常粗略的,只是开了几个线程让抓取的速度...

Source Insight的相对路径设置

  • 2014年03月13日 10:21
  • 720KB
  • 下载

VS 相对路径的设置 和 测试

  • 2016年08月28日 21:50
  • 1.05MB
  • 下载

MyEclipse 工程使用相对路径导入Jar包设置

环境:MyEclipse 6.5 问题:MyEclipse 工程使用相对路径导入Jar包            我们在导入工程时,往往添加Jar都是使用的绝对路径,但这带来了一个问题,不同的用户使用工...
  • Wentasy
  • Wentasy
  • 2012年07月01日 20:15
  • 3226

visual studio 2010相对路径设置

  • 2016年10月17日 10:02
  • 409B
  • 下载

Source Insight的相对路径设置方法

  • 2017年03月31日 11:19
  • 719KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用ResolveUrl设置相对路径
举报原因:
原因补充:

(最多只允许输入30个字)