マスターページとコンテンツページ(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で質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでPDFを作成する際、同じ名...
-
Windowsで複数のファイルを同じ...
-
【VB.NET】Excelの最終行までの...
-
【VB.NET】App.configにファイ...
-
aspxをhtmlに変換する方法について
-
SJISで、全角文字Aの文字コード...
-
バッチファイルで電卓作ったの...
-
VB.NET Excelを読み込んでDataT...
-
マクロで同じフォルダにある画...
-
高校1年生情報の問題について。
-
phpのファイルがブラウザで開か...
-
エクセルに張り付けた写真のフ...
-
VB.NETでMSComm が追加できず?
-
プログラミング関係で質問です。
-
ffftpでファイル取得が0バイト...
-
vba 空のデータをSplitする時の...
-
VBAでPDF作成をしたあと、指定...
-
”KINGSOFT WPSのVBエディタ画面...
-
VB.NET 2017の勉強中です。 今...
-
onedrive にexcelファイルをア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのcolorboxを読込直後に...
-
サイトにアクセスした際、数秒...
-
jquery ui.resizable 使い方
-
base64encodeでの文字化けについて
-
スライド写真で2、3枚目をラ...
-
jQuery が動作しません。
-
jQueryと他のライブラリを同時...
-
マスターページでのJavaScriopt...
-
jquery select要素のdisplay:no...
-
jqeryのslicksliderのパスにつ...
-
javascriptとjuaryを同時に
-
Javascriptのエラーに悩まされ...
-
<div>のタッチ状態を維持したま...
-
javascript 引用符
-
JavaScriptで背景や文字色を色→...
-
jqueryとlightboxが一緒に動作...
-
Base64に変換したHTMLの<script...
-
jQueryBlockUIをフレーム内で動...
-
mootoolsとjQueryの共存がうま...
-
ヤフーのジオの広告のような技法
おすすめ情報


