- 題名: ASP.NET 2.0でのframesetの使用方法 類似機能
- 日時: 2011/04/07 16:22:08
- ID: 28415
- この記事の返信元:
- (なし)
- この記事への返信:
- [28419] Re[1]: ASP.NET 2.0でのframesetの使用方法 類似機能2011/04/08 23:44:50
- ツリーを表示
■No28415に返信(はちまきさんの記事) 画面を分割するのはdivタグを使用するとよいと思います。 <div> <div>上</div> <div>下</div> </div> スクロールバーをつけるのはスタイルシートでoverflow:scrollを指定するとよいと 思います。 <style type="text/css"> #out { height : 100%; width : 100%; } #top { height : 50%; width : 100%; overflow : scroll; background-color : red; } #bottom { height : 50%; width : 100%; overflow : scroll; background-color : blue; } </style> <div id="out"> <div id="top">上</div> <div id="bottom">下</div> </div> 他のページを読み込むというframeの機能を代替することはできないような気がしま す。複数のファイルを参照して1つのページを構成するとするならば、参照するaspx をascxに、ページをユーザーコントロールに変換するとよいのではないかしら。と、 わたしはそのように考えます。
■No28455に返信(はちまきさんの記事) > やはりframeset、frame タグを使用して既存ASPXファイルを読み込む事が > ASP.NETになってからできなくなってしまったのですね。 すこし誤解があると思うんです。 ・検証 (XHTML 1.0 Transitional): 要素 'frameset' はサポートされていません。 ・検証 (XHTML 1.0 Transitional): 要素 'frame' はサポートされていません。 上記のエラーは、厳密にはエラーではなく警告ですよね。 警告は不可能を意味しません。frameset、frameはXHTML 1.0 Transitionalとしてサ ポートされないので使用しない方がよいということでありまして、出力するXHTMLはX HTML 1.0 Transitionalの仕様に準拠せず、XHTMLとして好ましくないものではありま すが、ページをブラウザで表示することはできるかと思います。 frameset、frameをどうしても使用したいということでありますれば、DOCTYPEをfram eset、frameを許容するものに変えればよいです。 マスターページに以下のDOCTYPEの記述があると思います。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> frameset、frameを許容するDOCTYPEに変えるとよいです。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 警告の出力はVisual Studioの検証の機能によるものです。 ツール -> オプション -> テキストエディタ -> HTML -> 検証 -> ターゲット で、どのDOCTYPEにもとづいて検証を行うかを指定することができます。XHTML 1.0 F ramesetを指定するとよいと思います。 Visual Studio 2005が手元にありませんので、Visual Studio 2008の設定をもとにし ました。おそらくVisual Studio 2005でも同じような感じでできるのではないかと思 います。
■No28464に返信(はちまきさんの記事) > マスターページの内容が表示されるのみで > すでに作成済みASPファイルを参照してくれませんでした。 ブラウザで当該ページを参照して、frameのsrcに指定したページが参照されなかった ということですか。それともVisual Studioのデザイナで参照されなかったというこ とですか。 Visual Studioのデザイナで参照されないのは仕様だと思います。 わたしの環境でもそうなります。 > アドバイスのようにXHTML 1.0 Framesetに変更したですが、 > 状況は変わらずでした、もう少し悪戦苦闘してみます。 状況が変わらないというのは以下のエラーが出力されるということですか。 ・検証 (XHTML 1.0 Transitional): 要素 'frameset' はサポートされていません。 ・検証 (XHTML 1.0 Transitional): 要素 'frame' はサポートされていません。 設定が反映されるまで、すこし時間がかかることがあります。 ページを一度閉じて、開きなおしてみてはいかがでしょうか。
分類:[ASP.NET]
皆さま
いつも大変参考にさせて頂いております。
今回はframesetタグについてご教示・アドバイス願います。
ASP2.0以降、各種Webブラウザー対応等で…
framesetタグが推奨されずタグが開発環境の
Microsoft Visual Web Developer 2008 Express Editionから
消えて無くなってしまっているようです。
frameset/frame に代わるASPタグも見つからず、
悪戦苦闘しております。
■実現したい事
上下に分割した画面をASP.NETで実現させたい。
分割画面にスクロールバーをつけたい。
■ロジック
<%@ Page Title="" Language="VB" MasterPageFile="~/Master/MasterPage.master" AutoEventWireup="false" CodeFile="DisplayFrame.aspx.vb" Inherits="Checker_DisplayFrame" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server">
<frameset rows="50%,*">
<frame src="12345.aspx">
<frame src="qwert.aspx"">
</frameset>
</asp:Content>
■エラー
・検証 (XHTML 1.0 Transitional): 要素 'frameset' はサポートされていません
・検証 (XHTML 1.0 Transitional): 要素 'frame' はサポートされていません。
ご教示・アドバイス、参考ロジックなど
宜しくお願いいたします。