我有一个 asp.net 3.5 应用程序。当我尝试向要在其中提取的 url 添加一个值时Request.PathInfo
,我会丢失任何链接的内容,head
因为这些位置被解析为相对路径。
母版页如下所示:
<head id="Head1" runat="server">
<link rel="stylesheet" href='~/App_Themes/main/style.css' type="text/css" />
</head>
并像这样渲染
<head id="ctl00_ctl00_Head1">
<link rel="stylesheet" href="../App_Themes/main/style.css" type="text/css" />
</head>
所以当我去
http://localhost:5000/project/folder/edit.aspx/555
浏览器正在寻找样式表
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>
但是我的链接仍然不起作用,因为 asp.net 坚持将 url 呈现为相对路径,除非以href
开头/
,但在这两种情况下,我现在最终都太高了。
http://localhost:5000/App_Themes/main/style.css