2012-01-24 10 views
1

ネストされたWebFormsマスターページの値、PageReportレイアウトページ(_layout.cshtml)、またはそれ以外の場所では、ページのタイトルに値を渡そうとしています。レイザーページからWebFormsマスターページへのタイトルの受け渡し

これは、Page.TitleとMaster、Parentなどのさまざまな組み合わせを試してみました。 Razorの内部からViewStateにアクセスしようとしました。私はWebFormsマスターページからViewBagを使用しようとしました。セッション変数を使用して成功した試みは、残念ながら次のページが読み込まれるまでタイトルを更新しません(更新されたタイトルは常に現在のページの代わりに前のページに設定されています)。

このようにタイトルを設定する理由は2つあります。最初の部分は、WebFormsのルートページを変更することができないということです。 2つ目は、JavaScript/jQueryを使用してそれを変更すると、SEO(検索エンジン最適化)の問題が発生する可能性があります。 SEOの問題を回避する方法がある場合は、jQueryを使用してこれをすべて回避することができます。 http://www.eworldui.net/blog/post/2011/01/07/Using-Razor-Pages-with-WebForms-Master-Pages.aspx

私はタイトルを変更できることを見つけた唯一の方法は、のコードビハインドからPage.Titleを設定することである:私は、一般的にWebフォームの内部に埋め込むカミソリを達成するために、次の資料を使用してい

「ネストされたWebFormsマスターページ」残念ながら、私はここからRazorにアクセスすることはできません。私はPage_LoadとPage_PreRenderから試しました。 PreRenderCompleteのメソッドを実装しようとしましたが、成功することはありません。 ASP.Netページライフサイクルの別のポイントからこれを正常に実行することは可能でしょうか?

マイページの階層は次のようになります。

ルートWebフォームマスターページ(修正する能力は、タグを持っていない)

ネストされたWebフォームマスターページ(コードビハインド/ w)の

MVCマスターページ(ノーコードビハインド)

ASPXページ(レイザーをレンダリング)

MVCレイアウト

MVC表示

RazorからネストされたWebFormsマスターページのコードビハインドにタイトルを取得する方法はありますか?私が見落としてしまったこれを行うためのより良い、簡単な方法はありますか?

答えて

0

セッション変数を使用して、コントローラーからネストされたWebFormsマスターページにタイトルを正常に渡すことができました。 SaveStateCompleteの後、ネストされたWebForms Master Pageからタイトルを変更することができました。

セッションは唯一のオーバリングデータコンテナのように見えます。

関連する問題