1

入れ子になったマスター ページが設定されており、コンテンツ ページのトップ レベルのマスター ページに含まれるフィールドにアクセスしようとしています。

最初にフィールドをカスケードして、ネストされたマスター ページに入力しようとしましたが、これは Page_PreRender イベントでしか実行できないため、コンテンツ ページがそれを読み取るには遅すぎます。

そのため、コンテンツ ページの MasterType ディレクティブを最上位のマスターを直接指すように設定し、ネストされたマスターをスキップしています。

<%@ MasterType VirtualPath ="~/Web/Site.master" %>

しかし、私はエラーが発生しています

タイプ 'ASP.web_masterfiles_masterfiles_master' のオブジェクトをタイプ 'ASP.web_site_master' にキャストできません。

コンテンツ ページで変数をキャストしようとしましたが、トップ レベルのマスター ページ クラス (SiteMaster) を解決できません (エラーが示すように)。

List<string> usersRoles = (SiteMaster)Master.usersRoles;

これを行う方法はありますか?または、トップ レベルのマスターから読み取られたネストされたマスター ページからコンテンツ ページがフィールドを読み取れるように、ページの読み込みイベントを別の方法で使用する方法はありますか?

4

0 に答える 0