Asp.net 添加PathInfo值时,如何正确解析css链接?
我有一个asp.NET3.5应用程序。当我尝试向要在Asp.net 添加PathInfo值时,如何正确解析css链接?,asp.net,css,url,pathinfo,Asp.net,Css,Url,Pathinfo,我有一个asp.NET3.5应用程序。当我尝试向要在Request.PathInfo中提取的url添加值时,我丢失了head中链接的任何内容,因为这些位置被解析为相对路径 母版页如下所示: <head id="Head1" runat="server"> <link rel="stylesheet" href='~/App_Themes/main/style.css' type="text/css" /> </head> 浏览器正在查找位于的样式表
Request.PathInfo
中提取的url添加值时,我丢失了head
中链接的任何内容,因为这些位置被解析为相对路径
母版页如下所示:
<head id="Head1" runat="server">
<link rel="stylesheet" href='~/App_Themes/main/style.css' type="text/css" />
</head>
浏览器正在查找位于的样式表
http://localhost:5000/project/folder/App_Themes/main/style.css
而不是
http://localhost:5000/project/App_Themes/main/style.css
使用相对路径解析是自动行为吗?我能换一下吗?这是以前的开发人员正在做的事情,我没有发现吗
---编辑---
我采纳了下面的建议,添加了一个base
元素,如下所示
<base id="ctl00_ctl00_baseElement" href="http://localhost:5000/project/"></base>
使用:
使用:
显然,当head
元素定义为服务器控件时,服务器会自动解析和解析其中的link
元素。因此,解决方案是将head元素作为标准html控件,或者手动添加链接元素。我放弃了我一直追求的PathInfo
想法,所以我没有走那么远。显然,当head
元素被定义为服务器控件时,服务器会自动解析和解析其中的link
元素。因此,解决方案是将head元素作为标准html控件,或者手动添加链接元素。我放弃了我一直追求的PathInfo
想法,所以我没有走那么远。我解决了这个问题,添加了一个html“base”标记,
使用方法:Page.ResolveUrl(“~”)解析站点的基本url。
可在本地主机和服务器上正常工作:
<base href="<%=ResolveUrl("~")%>" />
我解决了这个问题,添加了一个html“base”标记,
使用方法:Page.ResolveUrl(“~”)解析站点的基本url。
可在本地主机和服务器上正常工作:
<base href="<%=ResolveUrl("~")%>" />
所以“项目”会根据您的项目而变化吗?@luke是的,asp.net开发服务器就是这样工作的localhost:port/project name/stuff
。那么“project”会根据您的项目而变化吗?@luke是的,asp.net开发服务器就是这样工作的localhost:port/project name/stuff
。
http://localhost:5000/App_Themes/main/style.css
<base href="http://yourdomain.com">
<link rel="stylesheet" href="/App_Themes/main/style.css" type="text/css" />
<base href="<%=ResolveUrl("~")%>" />