

マスターページとコンテンツページ(aspxファイル)のディレクトリ階層が異なる場合、マスターページにJavaScriptファイルの指定を行うと、生成された画面のソースを見ると、マスターページからの相対パスになっており、JavaScriptのメソッドを実行できません。
どうすれば、コンテンツページからのパスで生成されるようにできますか?
■階層
root
┗Script
___Script.js
┗マスターページ
___マスターページ.master
┗コンテンツルート
_┗aspxファイル
______コンテンツ.aspx
■マスターページ
<head id="Head1" runat="server">
<script type="text/javascript" src="~/Script/Script.js" charset="Shift_JIS"></script>
</head>
■生成されたhtml
<head id="Head1" runat="server">
<script type="text/javascript" src="../Script/Script.js" charset="Shift_JIS"></script>
</head>
希望しているコード
<script type="text/javascript" src="../../Script/Script.js" charset="Shift_JIS"></script>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ASP.NET 2.0で同じようなページ構造にして試してみましたが、相対パスどころか"~/Script..."がそのままブラウザに送られてきました…。
scriptタグはパス変換の対象になっていない様子。
(このあたりは設定等で変更できるかもしれませんが調べてません。)
解決策としては、マスターページのInitイベントでヘッダにscriptタグを追加する方法があります。
VBの場合:
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Dim tagScript As New HtmlControls.HtmlGenericControl("script")
tagScript.Attributes.Add("type", "text/javascript")
tagScript.Attributes.Add("src", Me.ResolveClientUrl("~/Script/Script.js"))
tagScript.Attributes.Add("charset", "Shift_JIS")
Me.Page.Header.Controls.Add(tagScript)
End Sub
C#の場合:
私はC#書けないので上記コードからC#用に書き換えてください。
ありがとうございました。
教えていただいた方法を参考に
<script type="text/javascript" src='<%= Me.ResolveClientUrl("~/Script/Script.js") %>' charset="Shift_JIS"></script>
で
マスターページからのパスではなくコンテンツページからのパスで表示することができました。
C# なので Me ではなく、this にしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- jQueryでのドラッグアンドドロップについて
- GoogleChart 階層ごとのブロックの長さを個別に設定したい
- JavascriptからPHPへのAjax通信でnullが返ってくる
- セレクトボックスを2つ設けて選択して初めてメッセを表示
- switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。
- jQueryでのドラッグアンドドロップについて
- 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして
- javascript作成してます。ラジオボタンで判定するコードを書いてます。
- javascriptで変数を組み込みたい
- HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
lightbox2 表示の不具合
-
jQuery が動作しません。
-
base64encodeでの文字化けについて
-
SVGのmask要素について
-
javaスクリプトについて質問で...
-
jqueryについて(Lightboxとbxs...
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
別ファイルのfunctionの読み込み方
-
function の return 値を表示し...
-
JavaScriptのエラー ( 関数の...
-
【javascript クロスブラウザ...
-
テキストボックス内にハイパー...
-
JavaScript でキーを送る
-
リンクに飛ばない・・・
-
javascript内で外部ファイルを...
-
xmlHttpRequest.send( EncodeHT...
-
【SSI】include file、include ...
-
出荷予定日を表示するJavaスク...
-
SQLのWHEREで全てを質問する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のjavascriptを使うと動か...
-
base64encodeでの文字化けについて
-
Base64に変換したHTMLの<script...
-
jqueryを2つ設置した事で片方...
-
ASP.NETでAjax通信する際について
-
jqueryとjavascriptの競合?
-
jqueryでのkeydownイベント発生...
-
mootoolsとjQueryの共存がうま...
-
サイトにアクセスした際、数秒...
-
複数のバージョンのjQueryを同...
-
CKeditorについて
-
DreamWeaverでJS
-
CrossSlideのスライドショーが...
-
jsファイルで配列を定義し、j...
-
javaスクリプトについて質問で...
-
ebayの返信で『 Message may no...
-
bxsliderの使い方について
-
プラグイン無しでContactform7...
-
jquery ui.resizable 使い方
-
パソコンでホームページを作成...
おすすめ情報