ASP.Netの経験がほとんどないのですが、たった一つだけしなければいけないことがあり、それができずに困っています。
マスターページに以下のような処理を入れたいのです。
<link href="main.css?<%= utils.Utility.GetLastUpdated() %>" rel="stylesheet" type="text/css" media="screen" />
この<%= utils.Utility.GetLastUpdated() %>の部分がコードが実行されず、そのまま表示されてしまいます。
とても基本的なことなのだと思いますが、やりたいことはたったのこれだけなのです。わかる方、よろしくお願いします。
No.4ベストアンサー
- 回答日時:
こんにちは。
aspx 側のコードを一切とっぱらって、コードビハインドの方に以下のコードを入れたら一応動きました。いかがでしょうか。
protected void Page_Load(object sender, EventArgs e)
{
HtmlLink cssLink = new HtmlLink();
cssLink.Href = "main.css?" + utils.Utility.GetLastUpdated();
cssLink.Attributes.Add("rel", "stylesheet");
cssLink.Attributes.Add("type", "text/css");
cssLink.Attributes.Add("media", "screen");
this.Page.Header.Controls.Add(cssLink);
}
期待通りにCSSにクエリ文字列を追加することができました。
ASP.NETの知識がまったくなく勉強する時間もなく、それでもこの処理だけどうにか実装する必要があったのでとても助かりました。ありがとうございます。
No.3
- 回答日時:
こんにちは。
> ネームスペースにソリューション名を追加すればいいのでしょうか?
ソリューション名というか、utils.Utility クラスが属するプロジェクトがありますよね。それを右クリック→プロパティ→「アプリケーション」タブの「既定の名前空間」に書いてある文字です。
P タグでは再現しませんが、HEAD タグ内に LINK タグを同じように入れてみたところ再現しました。
周囲の HTML との関係?ちょっと原因はわからないです、すみません。
かなり力技な感じですが、以下のコードだとcss?の後に得たい値が入ると思います。
<%="<link href=main.css?" + WebApplication1.utils.Utility.GetLastUpdated() + " rel=""stylesheet"" type=""text/css"" media=""screen"" />"%>
この回答への補足
ネームスペースは utils だけでした。
<%="<link href=main.css?" + WebApplication1.utils.Utility.GetLastUpdated() + " rel=""stylesheet"" type=""text/css"" media=""screen"" />"%>
この記述を入れたら、以下のエラーが出ました。
The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)
このエラーを調べてみたら、<%= %> ではなく <%# %> を使うと良い的なことが書いてあったので試したところ、今度はエラーは消えましたが何の出力もされなくなりました(<link>タグ自体が出力されない)。
やりたいことは非常にシンプルなこと(更新した日付をクエリ文字列としてCSSファイルに付ける)なのですが、ASP.Netでは難しいのでしょうか?
No.2
- 回答日時:
こんにちは。
<%= utils.Utility.GetLastUpdated() %>
を
フルネームスペースで記述されてみてはどうでしょうか。
私の実験したソリューション、プロジェクト名:WebApplication1
自作のクラス:Site1.Master、Utility.vb、WebForm1.aspx
◆Site1.Master の aspx の body 内に一行追加
<p><%=WebApplication1.utils.Utility.GetLastUpdated()%></p>
◆Utility.vb の内容
Namespace utils
Public Class Utility
Public Shared Function GetLastUpdated() As String
Return DateTime.Now.ToString("yyyyMMddHHmmss")
End Function
End Class
End Namespace
◆WebForm1
ウィザード通りに ContentPlaceHolder を作成しただけ
この回答への補足
ネームスペースにソリューション名を追加すればいいのでしょうか?やってみましたが同じ結果で、
<%= ソリューション名.utils.Utility.GetLastUpdated() %>
と結果のHTMLには表示されます。ただそのまま表示されるのではなく、<%= が <%= と展開されているあたりもおかしな感じです。
マスターページではなく普通の.aspxファイルなら<%= utils.Utility.GetLastUpdated() %>と記述することで正常に、上記のようにコードがそのまま表示されるのではなくプログラムの結果が表示されます。
Utilityクラスは以下のように定義しています。(余計なメソッドは省略)
namespace utils {
public static class Utility {
public static string GetLastUpdated()
{
return ConfigurationManager.AppSettings["LastUpdated"];
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- HTML・CSS PrettierのHTMLの記述変更 linkタグ 1 2022/06/23 04:06
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jspでcssが読み込めない
-
eclipseでcssを使うためには?
-
javascriptテキストBOX色を元に...
-
textareaに画像を表示したい
-
MAX関数を使ってからLEFT JOIN...
-
JSPでの画像ファイル表示
-
【OpenCV】二値画像後、白の部...
-
C言語のポインタ表現
-
Slick.jsのオプションrtlについて
-
複数画像のランダム複数表示(...
-
getElementByIdの戻り値がnull...
-
jQueryでサーバー上のファイル...
-
重なった画像にクリックイベン...
-
キャラクターがぴょこんと飛び...
-
JavaScriptで変更した属性の元...
-
初期状態でテーブルの非表示
-
JQuery UIで、表示したタブの中...
-
サイトにコンテンツを並べる際...
-
jQueryで特定id以外の下にある...
-
読み込んだQRコードをフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jspでcssが読み込めない
-
eclipseでcssを使うためには?
-
JimdoでWebアイコンフォントの...
-
ブラウザで表示されている罫線...
-
外部スタイルシートをメモ帳で...
-
このVBAソースのどこが間違って...
-
htmlの記述で link rel=styles...
-
HPビルダーでサイト全体の背...
-
ホームページのタブのeマーク
-
SEO対策としての画像リンクなど...
-
Apache Tomcat 連携じの設定に...
-
tableの分割画像 隙間について
-
ファイヤーフォックスでCSSが機...
-
マスターページにコードを入れたい
-
web制作(HP作成について教えて...
-
Win32版のApache
-
ファイヤーフォックスでCSSが読...
-
flexBOX同士の間隔
-
ドリームウィーバー html5
-
このコードでおかしいところが...
おすすめ情報