4

SharePoint 12 hive/template/layouts/TelephoneBookList/test.aspx ファイルで masterpagefile (これが理にかなっている場合はサイトのもの) を使用したいと考えています。ただし、MasterPageFile="~/_layouts/simple.master" などを test.aspx ページに追加すると、sharepoint エラー ページが表示され、ログ ファイルに次のように記録されます。

01/12/2009 10:56:26.95 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services トポロジ 0 重大な無効な URL: http://localhosthttp://mcdevspを参照する代替アクセス マッピングを更新する必要がある場合もあります。このエラーに関するヘルプ: http://go.microsoft.com/fwlink/?LinkId=114854

01/12/2009 10:56:27.09 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services General 8dzz High 例外の種類: System.Web.HttpException 例外メッセージ: ファイル '/_layouts/TelephonebookList/~masterurl/default.master' は実行します存在しない。

01/12/2009 10:56:27.23 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services トポロジ 0 重大な無効な URL: http://localhosthttp://mcdevspを参照する代替アクセス マッピングを更新する必要がある場合もあります。このエラーに関するヘルプ: http://go.microsoft.com/fwlink/?LinkId=114854

01/12/2009 10:56:27.70 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services 一般 8dzw 中 spHttpHandler:GetHash 開始

01/12/2009 10:56:27.70 w3wp.exe (0x1064) 0x1280 Windows SharePoint Services 全般 8dzx 中 spHttpHandler:GetHash 終了

MasterPageFile 属性がなくても完全に機能しますが、Web サイトのグローバルなルック アンド フィールはありません。

どうもありがとう。

4

2 に答える 2

4

これを試して:

MasterPageFile 宣言をデフォルト (~/_layouts/simple.master) のままにして、カスタム コードで OnPreInit をオーバーライドします。

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);

    this.MasterPageFile = SPContext.Current.Web.MasterUrl;
}
于 2009-01-12T14:04:17.340 に答える
1

SharePointでは、_layoutsページを〜/ _layouts/application.masterで宣言する必要があります。次に、OnPreInit手法を使用して、実行時にマスターを変更できます。

HttpModuleを使用して、すべてのアプリケーションページのマスターを変更できます。SharePointapplication.masterファイルをカスタマイズする方法

于 2009-01-12T17:45:03.213 に答える