2

私は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は、でhref始まる場合を除き、URLを相対パスとしてレンダリングすることに固執しているため/です.

http://localhost:5000/App_Themes/main/style.css
4

3 に答える 3

0

明らかに、head要素がサーバー コントロールとして定義されている場合、その中の要素はサーバーlinkによって自動的に解析および解決されます。したがって、解決策は、 head 要素を標準の html コントロールのみにするか、link要素を手動で追加することです。私はPathInfo自分が追求していたアイデアに救いを求めたので、そこまでは行きませんでした。

于 2011-02-25T21:01:09.623 に答える
0

使用する:

<base href="http://yourdomain.com">
<link rel="stylesheet" href="/App_Themes/main/style.css" type="text/css" />
于 2011-02-02T17:17:20.397 に答える