none
ASP.NET MVC でのレイアウトページについて RRS feed

  • 質問

  • ASP.NET MVCで、はじめてWEBアプリを作成しています。

    はじめに、ログインページが有り

    ログイン後に各種ページがあるような構成です。

    今困っているのはレイアウトページの設置方法です。

    ログイン画面のみレイアウトページの適用をせずに

    その他のページにはレイアウトページに

    レイアウトページを適用したいです。

    いろいろと検索してみたのですが、

    レイアウトページの適用方法は記載があるのですが

    上述のようなケースが確認できませんでした。

    どなたかご教示いただけばと存じます。

    よろしくお願いします。

    2013年1月26日 14:11

回答

  • > その共通ページを特定のページだけ除外する、反映させないような記述があればと考え質問しております。

    ビューを追加する際、レイアウト(マスターページ)を使用しないように設定できます。

    以下のページの「ビューテンプレートの作成」のセクションを見てください。そこで、Add View ダイアログ(日本語では "ビューの追加")の "Use a layout or master page:"(日本語では "レイアウトまたはマスターページを使用する(U):")のチェックボックスのチェックを外してビューを生成してください。

    ASP.NET MVC 3:Razorのレイアウトとセクション
    http://codezine.jp/article/detail/5685?p=2

    作成したビューに _Layout.cshtml(VB の場合 _layout.vbhtm)にあるスクリプト定義などをコピーするのを忘れないようにしてください。

    #Web Forms で使用できるサーバーコントロールの開発生産性の高さを捨てて、MVC にする必要があるのでしょうか?

    • 回答としてマーク shika358 2013年1月27日 9:56
    2013年1月27日 6:06

すべての返信

  • 自分の環境(OS, IIS, .NET, Visual Studio のバージョンなど)ぐらいは書きましょう。

    また、「レイアウトページ」という言葉はどういう意味で、それをどのように使おうとしているのか、もっと具体的に書いていただけませんか。(例えば、公開されているチュートリアルを例にとって、この部分をこう変えたいというように)

    回答者が想像で返事をして、もし想像が違っていると、混乱を招くばかりですので。


    PS. できれば開発経験も書いてください。
    • 編集済み SurferOnWww 2013年1月27日 1:27 PS 追加
    2013年1月27日 1:25
  • SurferOnWww様

    ご指摘ありがとうございます。
    開発環境:Windows7、VS2010 Pro SP1、.NET Framework4、VB.NET で ASP.NET MVC3 の開発をしております。
    開発経験は、ACCESSで3年、(レガシー)ASPで2年ほどです。
    このたび、(レガシー)ASPのアプリをASP.NET MVCで作成しなおそうと考えています。
    .NETでの開発経験はありません。

    チュートリアルでいうと、
    Views\Shared\_Layout.vbhtml や Views\_ViewStart.vbhtmlで
    マスターページのように、BODY以外が共通になるように設定、記述がされていると思います。
    ※この共通になるようにしているのを、レイアウトページといっておりました。
    その共通ページを特定のページだけ除外する、反映させないような記述があればと考え質問しております。

    拙い文章で申し訳ありませんがなにとぞ宜しくお願いします。
    2013年1月27日 4:16
  • > その共通ページを特定のページだけ除外する、反映させないような記述があればと考え質問しております。

    ビューを追加する際、レイアウト(マスターページ)を使用しないように設定できます。

    以下のページの「ビューテンプレートの作成」のセクションを見てください。そこで、Add View ダイアログ(日本語では "ビューの追加")の "Use a layout or master page:"(日本語では "レイアウトまたはマスターページを使用する(U):")のチェックボックスのチェックを外してビューを生成してください。

    ASP.NET MVC 3:Razorのレイアウトとセクション
    http://codezine.jp/article/detail/5685?p=2

    作成したビューに _Layout.cshtml(VB の場合 _layout.vbhtm)にあるスクリプト定義などをコピーするのを忘れないようにしてください。

    #Web Forms で使用できるサーバーコントロールの開発生産性の高さを捨てて、MVC にする必要があるのでしょうか?

    • 回答としてマーク shika358 2013年1月27日 9:56
    2013年1月27日 6:06
  • SurferOnWww様

    回答ありがとうございます。
    記載の記事は読んだつもりでしたが、読み飛ばしていたようです。

    Layout = Nothing
    を指定する事で、実現できました!
    ありがとうございます。

    現在のシステムは、Web Formsではなく、
    レガシーASPとかクラシックASPと呼ばれている
    サーバーサイドが、VB scriptで書かれているものです。
    ですので、ASP.NETに置き換えようと思ったときに
    Web Formsよりは、MVCの方が近いかなと思い
    MVCでの書き換えを進めております。
    正直、どちらがよいのかわからないまま進めています。。。

    この度は初歩的な質問におつきあいいただきありがとうございます。
    2013年1月27日 9:56