- PR -

【ASP.NET+VB.NET】スタイルシートのビヘイビア

1
投稿者投稿内容
なびっと
会議室デビュー日: 2007/04/09
投稿数: 9
投稿日時: 2007-06-25 20:24
いつもお世話になっております。

現在ASP.NET(VB)で開発を行っておりますが、
スタイルシートにて設定したbehavior指定のhtcファイルの処理が
動作せず、悩んでおります。

なお、マスターページを使用しておりまして、
ログイン画面を除くモジュールで動作がしません。

ログイン画面ではマスターページを使用していません。

マスターページ使用時の注意点などがあるのでしょうか?

以下、参考ソース
●ログイン画面.aspx
<html>
<head runat="server">
<link type="text/css" rel="stylesheet" href="Com/CSS/CSSStyle.css" />
</head>
〜省略〜

●マスターページ.aspx
<html>
<head id="Head1" runat="server">
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script language="JavaScript" type="text/javascript" src="../Com/CSS/BtndblSubmit.js"></script>
<script language="JavaScript" type="text/javascript" src="../Com/CSS/JScript.Js"></script>
<link type="text/css" rel="stylesheet" href="../Com/CSS/CSSStyle.css" />
</head>
〜省略〜

以上です、よろしくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-06-25 22:18
ビヘイビアってなんぞね
引用:

エレメント ビヘイビア<microsoft.com>より:
Microsoft Internet Explorer 5.5 では、HTML コンポーネント (HTC) を使ってカスタム タグ、すなわちエレメント ビヘイビアを作成することができます。エレメント ビヘイビアを使うと、DHTML ビヘイビアを完全にエレメントにバインドすることができます。これにより、エレメント ビヘイビアは HTML ドキュメントの中で他のエレメントと同じように使用することができ、ビヘイビアの機能がエレメントから決して削除されないことが保証されます。

従来は、プログラマがスクリプトを書き、デザイナがレイアウトの問題を扱うという分業が行われてきました。このような分業体制は Web パラダイムではあまりうまく機能しません。HTML ファイルにはスクリプトとタグが混在していることが多く、個々人の責任を分割するのが難しいからです。しかし、エレメント ビヘイビアの登場により、デザイナは HTML ファイルを扱い、スクリプト開発者は HTC ファイルの作業を行うという完全な分業が可能になります。


あ。。。じゃぁ、無効になる可能性が高いね。この文書が作られた頃は「このような分業体制は Web パラダイムではあまりうまく機能しません」だったらしいけど、今は分業制の方向に、マイクロソフトが進めているから。

 それで、HTC ファイルは、どこに置いてあって、どこで読み込もうとしているのでしょう?
なんとなく、パスの指定がまずいような気がする。相対パスでなく、絶対パスにしてみたら?
_________________
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2007-06-26 06:37
マスターページで相対アドレスを使用すると扱いが複雑になりますので、サーバーコントロールにしてルートフォルダーからのパス(~/image/home.gif)を指定するようにしたらどうでしょうか。

たとえば、HTMLの<img>タグとASP.NETの<asp:Image>タグを比較すると、次のようになります。

・<img>のsrc属性にイメージファイルの相対パスを設定するときは、Webページが 
 格納されているフォルダを基準にします。

・<asp:Image>のImageUrl属性にイメージファイルの相対パスを設定するときは、
 マスターページが格納されているフォルダを基準にします。

ルートフォルダにマスターページ、サブフォルダにWebページを作成したときは、イメージファイルの相対パスは次のようになります。

<img src="../images/home.gif" />
<asp:Image ImageUrl="Image/home.gif" id="Image1" runat="server" />

CSSで相対パスを設定するときも、同じような仕様が適用されます。

つまり、CSSで相対パスを指定するときは、マスターページが格納されている
フォルダを基準にしないで、Webページが格納されているフォルダを基準にします。


_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集

[ メッセージ編集済み 編集者: Access 編集日時 2007-06-26 07:28 ]
なびっと
会議室デビュー日: 2007/04/09
投稿数: 9
投稿日時: 2007-06-26 12:16
Jitta様
Access様
ご回答ありがとうございます。

IISのディレクトリを確認し、絶対パスで指定したところ
正常に動作いたしました。

実際のフォルダのディレクトリを見て、設定してました(汗
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)