0

アプリケーションに複数のマスター ページがあります。カスタム タイプを作成し、それからすべてのマスター ページを継承します。

 public class MyMaster : System.Web.UI.MasterPage
{
    private int myno;

    public int MyNo
    {
        get { return 50; }
        set { myno = value; }
    }

}

基本的に myno はすべてのマスターページで共通で、マスターページはコンテンツページで変更されます。コンテンツ ページに追加したこのプロパティを追加するには:

<%@ MasterType TypeName=MyMaster %>

ページで実行すると、件名エラーが発生しました。よろしくお願いします。

感謝

4

2 に答える 2

1

Webサイトで作業している場合は、通常、派生した MasterPage クラスをアプリケーションの App_Code フォルダーに配置する必要があります。VS がサイトをコンパイルすると、AppCode フォルダー内のクラスがサイトの名前空間にコンパイルされ、アプリケーションのコード ビハインド ページで使用できるようになります。

Webアプリケーションを使用している場合は、クラス ファイルをサイトのルートに配置し、プロジェクト内の他のページのコード ビハインドから直接参照できるはずです。ただし、すべての名前空間の参照が正しいと仮定します。

またBuild Action、クラス ファイルの が に設定されていることを確認してくださいCompile。これは、ソリューション エクスプローラーでクラス ファイルを選択することにより、プロパティ ウィンドウで確認できます。

于 2012-08-24T02:39:46.687 に答える
0

私はちょうどこの問題を抱えていました。

私のディレクティブのMasterPageFile属性が私のディレクティブPageと一致しなかったことが判明しました。 TypeNameMasterType

つまり、間違ったマスター ページ ファイルの TypeName を指定しました。おっとっと!

これが問題のデモンストレーションです。

<%@ Page Title="" Language="VB" MasterPageFile="~/Departments/SomeMaster.master" AutoEventWireup="false"
    CodeFile="ExamplePage.aspx.vb" Inherits="Departments_ExamplePage" Theme="Default" %>

<%@ MasterType TypeName="Departments_SomeOtherMaster" %>
于 2014-10-22T16:06:27.090 に答える