2

わかった、

私はそれが奇妙であることを知っていますが、このコード<head runat="server"></head>をmaster.pageの間に置くと、次のようにレンダリングされます。

 <link id="ctl00_Link1" rel="shortcut icon" href="../%3C%25%20ResolveUrl(%22~/Resources/Pictures/Shared/Misc/favicon.ico%22);%20%25%3E" type="image/x-icon" />

asp.netが処理する必要のあるものは表示されません。

これは元のコードです:

<link id="Link1" rel="shortcut icon" href='<%=ResolveUrl("~/Resources/Pictures/Shared/Misc/favicon.ico") %>' type="image/x-icon" runat="server" />

基本的に、Asp.Netは以下のコードを処理せず、通常のhtmlとしてレンダリングします。

どうすればこの問題を克服できますか?

前もって感謝します...

編集して解決

さて、これを行う方法はありません。ResolveUrlまたはResolveClientUrlは以下のこれらに対してのみ機能するため、私はついに理解しました。

@import '<%= ResolveUrl("~/Resources/Styles/MainMaster/MainDesign.css") %>';
<script src='Resources/Scripts/Libraries/jquery-1.4.2.js' type="text/javascript"</script>

リンクにはリテラルが多すぎるため、次のようにリンク要素をbodyタグに配置する必要があります。

<body>
    <link id="iconOne" rel="shortcut icon" type="image/x-icon" href="Resources/Pictures/Shared/Misc/favicon.ico"/>
    <link id="iconTwo" rel="icon" href='Resources/Pictures/Shared/Misc/favicon.ico' type="image/ico" />
</body>
4

2 に答える 2

4

したがって、最初の問題に遭遇した理由は、リンク タグにrunat="server"This が含まれていたためです。これはサーバー コントロールであるため、スクリプトレット タグ ( <%= %>) は実際には何も実行していません。これはサーバー コントロール プロパティであるため、リテラル テキストとして扱っているためです。

それを処理するには2つの方法があります。まず、ClientScriptManagerに起動スクリプトを登録します。これにより、リンクタグが本文内に配置されます。これは、マイクロソフトが行うべきだと言っている方法ですが、美的にはそれほど良くありません. もう1つのオプションは、Page_Loadでこのようなことをすることです

var link = new HtmlGenericControl("link");
link.Attributes.Add("rel", "shortcut icon");
link.Attributes.Add("src", ResolveUrl("~/Resources/Pictures/Shared/Misc/favicon.ico"));
link.Attributes.Add("type", "image/x-icon");

Header.Controls.Add(link);

これにより、プログラムによってコントロールが構築され、ヘッドのコントロール コレクションに追加されます。これにより、ヘッド タグの末尾に目的のものが表示されます。これに関する問題は、もう少し手間がかかることです。回避できる場合は、コード ビハインド レベルでコントロール コレクションをモンキー化することは避けたほうがよいでしょう。

于 2010-04-06T23:03:24.610 に答える
3

そのため、必要以上に複雑になっている可能性があります。~アイコンパスで使用して設定してみました<head runat="server">か?

例えば:

<head runat="server">
    ...
    <link rel="icon" href="~/Resources/Pictures/Shared/Misc/favicon.ico" 
        type="image/x-icon" />
    <link rel="shortcut icon" href="~/Resources/Pictures/Shared/Misc/favicon.ico"
        type="image/x-icon" />
    ...
</head>

関連するSOの回答ファビコンが表示されない

于 2011-09-02T14:57:56.407 に答える