他の言語(PHP/Python)では、特定のHTMLページレイアウトを表すクラスを作成することに慣れています。これらのクラスには、ナビゲーション(マルチレベル)、エラーメッセージ、情報メッセージ、フッターテキストなど、属性や動的機能の数に制限はありません。これらの項目のほとんどはデフォルト値を持ちますが、ページごとにオーバーライドされる可能性がありますレベル。ASP.Net MVC 3 Razor:動的レイアウトに情報を作成して渡す方法
try:
# do something
except ValidationError as e:
Layout.Error.Add(e)
やPHP例:
Layout = MainPage()
Layout.Title = "Google Image Search"
Layout.Nav1.Add("Google", "http://www.google.com", Selected=True)
Layout.Nav1.Add("Yahoo", "http://www.yahoo.com")
Layout.Nav1.Add("Bing", "http://www.bing.com")
Layout.Nav2.Add("Google Image Search", "http://......", Selected=True)
Layout.Nav2.Add("Google Shopping Search", "http://......")
Layout.Nav2.Add("Google Video Search", "http://......")
Layout.Nav2.Add("Google Web Search", "http://......")
または、エラーを処理:たとえば
$Layout->Info[] = "Your changes have been saved!";
私の質問は:どのように私はASP.Net MVCに似た機能を実装します3剃刀(VB)?
これまでのところ、ViewData
を使用してさまざまなビットのデータをビューに渡す方法を確認できました。また、私は強く型付けされたビューを扱っています。
率直に言って、私はこの論理、コントローラー、またはビューを持っているのは誰の仕事なのか分かりません(またはどこかにあるべきモデルがあります)。
- レイアウトのデフォルト値を初期化するための単一の場所(ナビゲーションの第一の層のような、など...)
- 強く型付けされた:ここで
は、私が撮影しています何の要約ですこのように
Public Readonly Property Nav1 as List(of NavElement)
- などの属性、そして、これらのレイアウト要素をレンダリングするために、単一の場所(私は
_Layout.vbhtml
を想定)
許してください、ここで-と、そこにポスト...私はそれが新しい(剃刀)と私にとって新しい(ASP.Net MVC)プラットフォームで行われた "正しい方法"を理解しようとしています。
一般的なアドバイスは大歓迎です!
確認していただきありがとうございます。 – gahooa