首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ResolveUrl和ResolveClientUrl有什么区别?

ResolveUrl和ResolveClientUrl有什么区别?
EN

Stack Overflow用户
提问于 2009-12-09 23:25:59
回答 5查看 53.9K关注 0票数 63

我一直使用ResolveUrl在ASP.NET文件中添加CSS和Javascript。

但我通常会看到ResolveClientUrl的选择。两者之间的区别是什么?

什么时候应该使用ResolveClientUrl?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-12-09 23:31:29

ResolveUrl创建相对于根目录的URL。

ResolveClientUrl创建相对于当前页面的URL。

您也可以使用您想要的任何一个,但是ResolveUrl更常用。

票数 72
EN

Stack Overflow用户

发布于 2013-10-16 02:26:57

下面是一个简单的例子:

代码语言:javascript
复制
//Returns: ../HomePage.aspx
String ClientURL = ResolveClientUrl("~/HomePage.aspx");

//Returns: /HomePage.aspx
String RegURL = ResolveUrl("~/HomePage.aspx");

//Returns: C:\inetpub\wwwroot\MyProject\HomePage.aspx
String ServerMappedPath = Server.MapPath("~/HomePage.aspx");

//Returns: ~/HomePage.aspx
String appRelVirtPath = AppRelativeVirtualPath;

//Returns: http://localhost:4913/
String baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;

//Returns: "http://localhost:4913/HomePage.aspx"
String absUri = Request.Url.AbsoluteUri;
票数 39
EN

Stack Overflow用户

发布于 2009-12-09 23:48:37

根据MSDN文档:

适合在浏览器上使用的指定资源的完全限定的URL。

使用ResolveClientUrl方法返回适合客户端用于访问网站服务器上的资源(如图像文件、指向其他页面的链接等)的URL字符串。

转换后的URL。

如果relativeUrl参数包含绝对URL,则返回的URL不变。如果relativeUrl参数包含相对URL,则该URL将更改为对当前请求路径正确的相对URL,以便浏览器可以解析该URL。

例如,考虑以下场景:

客户端请求了一个ASP.NET页,该页包含一个用户控件,该控件具有与之关联的图像。

ASP.NET页面位于/Store/page1.aspx。

用户控件位于/Store/UserControls/UC1.ascx。

图像文件位于/UserControls/Images/Image1.jpg。

如果用户控件将图像的相对路径(即/Store/UserControls /Images/Image1.jpg )传递给ResolveUrl方法,则该方法将返回值/Images/Image1.jpg。

我认为这很好地解释了这一点。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1874636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档