ResolveUrl()
好象是这么写的吧
好象是这么写的吧
解决方案 »
- 页面刷新字体问题
- 求一个简单的asp.net三层架构的例子
- 【请教】关于异步 IAsyncResult 返回值
- 使用ajax后,验证控件多了后,就要失效?~!!
- 下载实例,为何打不开项目?
- treeview控件可以不放在框架里面自动有垂直滚动条和水平滚动条吗?有什么属性可以设置不?
- 指定默认显示项的DropDownList应该如何写?只剩10分,请帮忙,问题解决马上给分。
- 从数据库搜索出来的表数据,如何按照自己的格式制定XML?
- Datalist中 onEditCommand 里查找空间失败,System.NullReferenceException: 未将对象引用设置到对象的实例。
- 在asp.net页面上,怎样做到当点击一个按钮时,显示“正在运算”,当运算结束后,显示“运算完成”,请朋友们帮忙!!
- 网页聊天室的思路
- 如何在asp.net中添加treeview啊?
我忘了说了
我是用c++的
里面没有这些东西呀
我想直接通过URL获取
可以做到吗
如果你仅仅是解决什么css的连接,那好点。
如果包括整个网页,那就还有其他超连接,图片,甚至背景图象。
如果有的背景图象是写在css里的,那你即使把路径都写对了,还是没用。
你不至于在不同目录等级的页面,你就把css里应用背景图象的样式改成不同的地址吧。你还是把<link href="csdn_index.css" type="text/css" rel="stylesheet" />
改成<link href="/csdn_index.css" type="text/css" rel="stylesheet" />
如果在css目录下,就改成
<link href="/css/csdn_index.css" type="text/css" rel="stylesheet" />
图片,连接那些也一样。
这样你就不需要再来转换url了。如果你实在要这样,那就在你得到你要保存的html字符串之前,用正则表达式得到所有href,src,background等的值。然后依次用Server.MapPath(href或src或backgroud等),得到对应的物理地址。
在通过Request.PhysicalApplicationPath,来得到当前应用程序的根的绝对路径。
得到的href或src或backgroud等的绝对路径里也会有Request.PhysicalApplicationPath的值的部分。
你只需要将得到的href或src或backgroud等的绝对路径里对应的Request.PhysicalApplicationPath替换成当前应用程序的web路径(如http://www.xxx.com/)就可以了。============================================================
这个只是在自己的网站上。
如果你是要通过程序取其他网站的页面,再将取得的结果实行你现在所想要的操作的话,那就麻烦了。
如url为:
http://www.xxx.xom/1/2/3/1.aspx
url拆分为数组:
url[0]="http://www.xxx.xom";
url[1]="1";
url[2]="2";
url[3]="3";一般要处理的属性为:
href,src,backgroud漏掉的自己补充。
当然还是先要获得这些属性的值。
做一个处理这些属性的方法。这些属性的值一般有这几种情况:1: 5.aspx
2: ./5.aspx
3: ../5.aspx(../可以是一个或多个)
4: http://www.xxx.xom/5.aspx情况4的可以不做处理。
情况1直接在前面加url[0]/url[1]/url[2]/url[3]/
情况2替换./为空,在前面加url[0]/url[1]/url[2]/url[3]/情况3要复杂点,这也是为什么要拆分url的原因,在这里要真正的用到。
先得到在情况3里具体有多少个../
再通过数组成员的个数减去../的个数,如../的个数是1个
这里数组成员的个数是4,那结果就是3。
在组合url数组的前3个成员:
url[0]/url[1]/url[2]/
把../全部替换为空,将
url[0]/url[1]/url[2]/放在前面,结果就出来了。
如属性是:
../1.aspx
那么结果就是url[0]/url[1]/url[2]/1.aspx
../../2.aspx
那么结果就是url[0]/url[1]/2.aspx这里还要做一个判断就是:
数组成员的个数减去../的个数,这个结果出来以后,要判断结果是否小于1,如果小于1,就视为1,也就是小于1的结果全部让他等于1。
因为无论再多的../它都不能超过http://www.xxx.xom,始终都在http://www.xxx.xom内。对于这种的值:
../../123/432/.././6.aspx
其实他后面的../或./我们完全不用去管他,只需要做前面的../的处理就可以了/