1

次の方法を使用して、自分のサイトのレイアウトテンプレート.cshtmlを定義しました。
@{ Layout = "InsideLayout"; }

現在、リクエストURLを取得して、任意の時点でアクティブとしてマークする必要があるナビゲーションメニュー項目を特定しようとしています。ただし、Requestオブジェクトがnullのように見えます(ただし、ビューでブレークポイントを取得できないため、100%が問題になるわけではありませんが、かなり確実です)。

私には、現在のRequestオブジェクトをレイアウトビューに適切に入力する必要があるように思われるため、コンテキスト依存のマークアップを含めることができますが、これは不可能のようです。これを有効にするためにレイアウトが継承する必要のある特定のクラスはありますか、それとも期待される動作が見られますか?

私が考えていたもう1つのオプションは、レイアウトビューをバックアップするカスタムサービスを作成することです。これを試しましたが、レイアウトを使用したページを読み込んだときにサービスコードを実行できませんでした。これも可能ですか?

4

1 に答える 1

1

通常、ビュー内のリクエストにアクセスできる必要があります。しかし、それを行うためのより良い方法は、モデルに渡すことです。このビューに渡すモデルにプロパティとして情報を追加し、サービスにデータを入力させるだけです。

于 2013-01-14T06:27:51.250 に答える