WebForms アプリを MVC に移行したいと考えています。このプロセスは段階的に行われるため、両方のシステムが共存する必要があります。
問題は、WebForms ページ用と MVC ビュー用の 2 つの MasterPages を用意する必要があるかどうかです。1つだけにする方法はありますか?
WebForms アプリを MVC に移行したいと考えています。このプロセスは段階的に行われるため、両方のシステムが共存する必要があります。
問題は、WebForms ページ用と MVC ビュー用の 2 つの MasterPages を用意する必要があるかどうかです。1つだけにする方法はありますか?
ASP.NET MVC では、マスター ページは から派生しSystem.Web.Mvc.ViewMasterPage
、従来の Web フォームではから派生する必要がありますSystem.Web.UI.MasterPage
。MVC で後者を使用すると、ヘルパーにアクセスできなくなります。ViewMasterPage
から派生しているため、従来のWebフォームで使用できMasterPage
ますが(Webフォームアプリケーションのヘルパーにアクセスすることはできませんが、誰が気にしますか)。
したがって、あなたの質問に答えるために、はい、それがから派生すると仮定して、共通のマスター ページを持つことができますViewMasterPage
。
これは、MVC マスター ページで HTML ヘルパーを使用して部分ビューをレンダリングするため、おそらくこれを機能させることができないと言われていますがHtml.RenderPartial
、従来の WebForms アプリケーションではあまり意味がなく、従来の WebForms アプリケーションではその逆も同様です。おそらく、いくつかのサーバー側コントロールを使用するか、ViewState などで汚染され<asp:xxx runat="server" />
た単一のform
タグ (再びrunat="server"
) を持っているでしょう... MVC ではほとんど意味がありません。したがって、私の推奨事項は、このようにしないことです。