• ベストアンサー

ASP2.0 のマスターページ

x1vaの回答

  • ベストアンサー
  • x1va
  • ベストアンサー率26% (802/3006)
回答No.1

Visual Web Developper 2005 Express Editionで新規に作成した直後の状態がこんな感じです。 参考にならないでしょうか。 <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Default" title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolderBody" Runat="Server"> </asp:Content>

tomiyamax
質問者

お礼

新規作成したWebサイトのDefault.aspxを削除し、 新しい項目の追加で Default.aspxを マスターを選択するで、作成しましたところ 無事に作成できました。ありがとうございました。

tomiyamax
質問者

補足

x1vaさんありがとうございます。 私の環境(VS2005 Standard Edition)でWebサイトを新規に作成した場合は、MasterPageFile="~/MasterPage.master"はついていませんでした。 新規に作成したときに、マスターページとリンクしているなら、 Masterpage.masterも枠だけ自動で作成することができるということでしょうか。 よろしくお願いします。

関連するQ&A

  • マスターページからコンテンツページのメソッドを実行したい

    お世話になります。 マスターページからコンテンツページのメソッドを実行したいです。 よろしくおねがいします。 ********************************** マスタページ:Site1 ********************************** [Site1.Master] <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="Site1" %> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> [Site1.Master.cs] public partial class Site1 : System.Web.UI.MasterPage { ここで、コンテンツページのメソッドを実行 } ********************************** コンテンツページ:WebForm1 ********************************** [WebForm1.aspx] <%@ Page Language="C#" MasterPageFile="Site1.Master" Codebehind="WebForm1.aspx.cs" Inherits="WebForm1" %> <asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1"> </asp:Content> [WebForm1.aspx.cs] public partial class WebForm1 : System.Web.UI.Page {  protected void Page_Load(object sender, EventArgs e)  {  }  //このメソッドをマスターページで実行したい  public string メソッド()  {   return "XXXXXXX";  } }

  • 【ASP.NET】マスターページに配置されたボタンのイベントを拾いたい

    ※こちらの派生です。 http://oshiete1.goo.ne.jp/qa5222698.html マスターページに配置したボタンのクリックイベントを コンテンツページ(?マスターページを使用するページ)で 拾うことは可能でしょうか? もしくは、マスターページに配置したボタンのクリックイベントの処理を コンテンツページで実装することは可能でしょうか? ボタンの配置は同じだけれど、メソッドの中の処理は コンテンツページ毎に分けたいのです。 例えばマスターページ「hoge」とコンテンツページ「moge」があったとすると 以下のような感じです…。 --------------------------------------------------------------------------- ============== hoge.Master ============== <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="hoge.master.cs" Inherits="xxx.hoge" %> <asp:Content ID="Content3" ContentPlaceHolderID="FooterContentPlaceHolder" runat="server"> <asp:Button ID="btn" runat="server" Text="ぼたん" onclick="btn_Click" /> </asp:Content> ============== hoge.Master.cs ============== protected void btn_Click(object sender, EventArgs e) { // ここではなく } ============== moge.aspx ============== <%@ Page Language="C#" MasterPageFile="~/hoge.Master" AutoEventWireup="true" CodeBehind="moge.aspx.cs" Inherits="xxx.moge" Title="もげ" %> ============== moge.aspx.cs ============== protected void btn_Click(object sender, EventArgs e) { // ここにボタンが押された際の処理を実装したい } --------------------------------------------------------------------------- よろしくお願い致します。

  • ASP.NETでマスターページに詳しい方教えてください

    VS2008で開発しております ASP.NETでマスターページに詳しい方教えてください やりたい事は 上にTOPフレーム 左にMENUフレーム 右にメインのページ(コンテンツ) 見たいな画面を作りたいのですが ASP.NETではフレームは推奨されていないらしく マスターページを使用することになってます マスターページでフレームわけはできるのでしょうか? もしくは テーブルタグかなにかでわけないといけないのでしょうか? 教えて下さい

  • ASP.NETで、マスタページを使ったWebアプリケーション開発を行っ

    ASP.NETで、マスタページを使ったWebアプリケーション開発を行っています。いわゆる入れ子で多層構造になっており、各階層にプロパティやメソッドが分散しています。 子ページから一つ上のマスタページにアクセスする方法は分かっているのですが、2つ以上離れた階層にアクセスするにはどうすればよいのでしょうか? MasterPage.Masterプロパティでは、一つ上のマスタページにしかアクセスできません。 呼び出し元の階層から上位階層の各マスタページに次のようなメソッドを準備し、順繰りに上位のメソッドをたどるようにしてやれば、呼び出せる事は確認しましたが、もっとスマートなやり方は無いでしょうか? public void MyMethod(){ Master.MyMethod(); //一つ上のマスタページのMethod()を呼ぶ }

  • asp.netのマスターページのようなことってできますか?

    asp.netのマスターページのようなことってできますか? このたびプライベートの写真や動画を見せるHPをレンタルサーバ(FC2)でhtmlのみで作成を考えております。 仕事ではASP.NETを使用しマスターページでヘッダ部やフッダ部をつくり、コンテンツ部とはページと切り分けて作成していました。 これでメニューを何度も作成せず楽に作成することができました。 しかし今回htmlで作成するとなるとあれ?全ページにメニューを記述しなくてはならないのかな?って思いました。 確か私はasp.netを知る前はフレームページでヘッダ部やフッダ部を切り分けて作っていたような気がします。 そこで質問です。フレームページ以外でコンテンツ部を切り分ける方法ってありますか?

    • ベストアンサー
    • HTML
  • マスターページでのJavaScrioptファイル

    マスターページとコンテンツページ(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>

  • ASPのページだけ表示できません。

    お世話になります。 環境:Windows2000SP4 初めてASPをやってみることにしたのですが、 IISで仮想ディレクトリを作成して、 http://localhost/asp/Default.html と表示させてみたら うまくいったので、 http://localhost/asp/Default.asp としてみたら、 「ページを表示できません」となり、表示できません。 LocalHost以下のHtmlファイルはすべて表示されるのですが、 IISから、他のもともとあるASPファイルを 「参照」で開いてみても、やはり 「ページを表示できません」となり、表示できません。 なにかアドバイスがあれば、よろしくお願いします。

  • ASP.NET SiteMapPathコントロールで複数の階層

    ASP.NET2.0で、SiteMapPathコントロールについての質問です。 ひとつのページが複数のページから遷移される場合に、サイトマップパスコントロールを使用して、階層表示を変えたいのですが、 以下のようにWeb.sitemapを書いたらUrlは一意でなければならないというエラーが発生します。 <siteMapNode url="Default.aspx" title="TOP" description="TOP">  <siteMapNode url="Default2.aspx" title="page2" description="page2">   <siteMapNode url="Default3.aspx" title="page3" description="page3" />  </siteMapNode>  <siteMapNode url="Default3.aspx" title="page3" description="page3" /> </siteMapNode> 何か良い方法はないでしょうか?

  • Classic ASP でマスターページのようなテンプレートを利用する

    質問させて下さい。 Classic ASP でASP.NETのマスターページのような共通テンプレートを利用する時には、 (1)ヘッダフッタにわけて#includeを使う <!-- #include file="../include/header.asp" --> <% Response.Write "コンテンツ部分" %> <!-- #include file="../include/footer.asp" --> (2)テンプレートを用意しておきContentsの部分をReplaceする ○temlate.html <html> <head><title>タイトル</title></head> <body> {{Contents}} </body> <html> ○sample.asp 'テンプレ読み込み Set fs = Server.CreateObject("Scripting.FileSystemObject") Set ts = fs.OpenTextFile("template.html", 1, False) Do Until ts.AtEndOfStream  strTemplate = objFile.ReadAll Loop 'コンテンツ部作成 strContents = "コンテンツ部分" 'HTML吐き出し Response.Write Replace(strTemplate,"{{Contents}}",strContents) (3)2のようにテンプレを用意するがReplaceはしない ○sample.asp 'テンプレ読み込み Set fs = Server.CreateObject("Scripting.FileSystemObject") Set ts = fs.OpenTextFile("template.html", 1, False) Do Until ts.AtEndOfStream  strTemplate = objFile.ReadAll Loop 'テンプレ分解 arrTemplate = Split(strTemplate,"{{Contents}}") Response.Write arrTemplate(0) 'ヘッダ出力 Response.Write "コンテンツ部分" Response.Write arrTemplate(1) 'フッタ出力 1は古い本などに載っているやり方で、今いじっているソースもそうなっているのですが、テンプレートのhtmlを編集するのが困難なのでやめたいと思っています。 2は{{}}の部分を変えていけばいろいろ応用が利いて便利そうですが、コンテンツ部分を変数に保持したりReplace関数を多用したりするのは負荷が大きくならないか心配です。 3は今書きながら思いついたので適切かどうかわかりません。(読み込みと分解の方法を適切にすれば良いような気もしますが…) いったいどのようにするのが適切なのでしょうか。 ご教示のほどよろしくお願い致します。

  • マスターページの値の渡し方について。

    すごく初歩的な質問かもしれませんが、教えてください。 Visual Web Developer 2008を使用しています。 言語はVBです。 マスターページ:masterpage.master データ表示ページ:datalist.aspx(マスターページはmasterpage.master) マスターページにツリービューがあり、それをクリックすると、データベース内を検索し、該当するものをリストとして表示するのがデータ表示ページになります。 その際の処理として、どのノードがクリックされたかの情報をクエリ文字列にてデータ表示ページに送っていましたが、そうするとポストバックが起きずに、展開されたノードは初期の状態に戻ってしまいます。 抽出したデータを表示させつつも、ツリービューは選択された状態を維持させたいのです。 そこで、いろいろ考えてみたのですが、 1:マスターページに隠しテキストボックスを置き、その中に格納された値を、データ表示ページからFindControlで取得する 2:グローバル変数を使う   ただ、グローバル変数が使えるのか、また使用方法等はまだ調べていません。 3:Friend Sharedを使う   これはグローバル変数とは違うものなんですかね・・・?    いろいろ調べてみたのですが、グローバル変数は宣言する場所がどこなのかわからないという、自分でも情けない状態です。 Friend Sharedの使用方法も微妙です・・・。 隠しテキストボックスを作るやり方は簡単にテストしたらできましたが、極力変数として値を渡す方法でやりたいと思っているので、最終手段にしようと思っています。 目的はノード展開状態の維持なのですが、マスターページからデータ表示ページに値を渡すという流れはそのままでいきたいと思っています。 ポストバック時はノードの展開状態が維持されるとどこかに書いてあったので、ポストバックさせつつ値を渡すのがいいのでは、と思っています。 ご存知の方がいましたら、ヒントでもなんでもいいので教えてください。 足りない情報等は補足いたします。 よろしくお願いします。