2012-07-25 8 views
8

このトピックの近くにはjQuery Mobile layout in ASP.NET MVC appがありますが、すべてのビューでヘッダーとフッターの再入力が効率的ではないと考えているためベストプラクティスを見つけようとしています。より良い方法が必要です。ASP.NET MVCレイアウトをJquery.Mobileページに適用するためのベストプラクティス

私はASP.NET MVC共有レイアウトビュー(別名マスターページ)をビュー/パーシャルビューで使用できるようにするための最良の方法を探しています。周りに読んでから

MVCレイアウトからjQueryのモバイルページのレンダリングには二つの方法があります。

1)標準レイアウト形式:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 
     ... 
</head> 
<body> 
<div data-role="page"> 
    <div data-role="header">...</div> 
    <div data-role="content">@RenderBody()</div> 
    <div data-role="footer">...</div> 
</div> 
</body> 
</html> 

は、私が問題に走り始め、後に学んだ私が学んでいたようにあなたはそのマスターペイアウトの中に他の「ページ」を実際にロードすることはできません。すべての継承ビューは、そのマスターJqueryモバイルページの一部でなければなりません。 2)

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Page Title</title> 
     ... 
</head> 
<body> 
<div data-role="page">  
    @RenderBody() 
</div> 
</body> 
</html> 

これは動作しますが、それはまた、私はすべての単一のビュー上に再タイプヘッダとフッタを有することを意味します。

あなたの意見を共有できますか?私のレイアウトで複数のJquery Mobile "ページ"をロードできるようにするために、どこでもヘッダー/フッターを繰り返す必要がないようにするための最良のアプローチは何ですか? ...私はある意味で誰かが変わったらどうなるでしょうか?

ありがとうございます。あなたは含めることができ、その後

<!DOCTYPE html> 
<html> 
    <head>...</head> 
    <body> 
     @RenderBody() 
    </body> 
</html> 

、マスターレイアウトを継承するレイアウトページを作成し、:

答えて

2

一つ、私は似たような状況でやった事はありません「ページ」のdivで、マスターレイアウトを作ることですヘッダー/フッター

もちろん、各ページに異なるヘッダー/フッターがある場合は、これはあまり実用的ではありません。中間レイアウトを削除して、それぞれのビューに直接ヘッダー/フッターを配置することもできます。しかし、あなたがそれぞれのセットが特定の外観を持つ必要がある複数のページの異なるセットを持っているなら、私はこれが非常に役に立つと思う。

+0

私はそのマスターレイアウトを持っているという点はあまりありません。 JQuery Mobileのコンテンツ(ページ表示など)はありません。あなたが投稿した2番目のレイアウトは、とにかくあなたのページに使うレイアウトです。これは、標準的なレイアウト - コンテンツページシナリオを持つだけとどのように違うのでしょうか?ビュー/ヘッダーを持つ複数の「レイアウトページ」を作成し、それらを使用して私のビューを継承することもできます。その "マスターレイアウト"を持っている理由はありません...または何かが不足していますか? – Shenaniganz

+1

基本的には、便利なのは、サイト全体に必要なすべてのスクリプト/スタイルシートを含めることができるためです。すべてのページにそれらを含める必要はありません。ページ区画をそこに置いても、各サブレイアウトに置いても、違いはありません。 – Alejo

+0

もっと良いアプローチがあるのか​​どうかはわかりませんが、これは私がやり遂げたパスです。ありがとう – Shenaniganz

関連する問題