私はasp.net 3.5アプリを持っています。 Request.PathInfo
で取得するURLに値を追加しようとすると、場所が相対パスとして解決されるため、head
にリンクされているものはすべて失われます。PathInfo値を追加するときにCSSリンクを正しく解決するにはどうすればよいですか?
マスターページには、次のようになります。
<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 id="ctl00_ctl00_baseElement" href="http://localhost:5000/project/"></base>
ようbase
要素を追加したが、asp.netは、レンダリングにしつこいですので、私のリンクはまだ動作しません。 href
が/
で始まっていない限り、URLは相対パスですが、どちらの場合も、現在は1つ上のレベルが高すぎます。
http://localhost:5000/App_Themes/main/style.css
"プロジェクト"はプロジェクトによって異なりますか? –
@lukeええ、それはasp.net devサーバの仕組みです。 'localhost:port/project name/stuff'です。 – lincolnk