ここに、マスターページの抽象クラスがあります
public abstract class BaseMaster2 : System.Web.UI.MasterPage
{
public abstract List<string> ElementIdsToHideForPrint
{
get;
set;
}
}
そして、私は私のマスターマスターページの1つを持っています:
public partial class Template_Base2 : BaseMaster2
{
private List<string> _elementsIdsToHide;
public override List<string> ElementIdsToHideForPrint
{
get { return _elementsIdsToHide; }
set { _elementsIdsToHide = value; }
}
}
テスト サーバーではすべて問題なく動作しますが、これらすべてを運用サーバーに配置すると、実行時エラーが発生します。サーバーにコードを段階的に配置して、何がこのエラーをスローするかを確認しようとしましたが、マスターページにオーバーライドという単語がなくてもすべて機能するようです
public List<string> ElementIdsToHideForPrint { ... }
この実行時エラーがスローされる理由は何ですか?
ps: 読みやすくするために、ここでコードを短くしました。
そのマスター ページを含む自分のページで初期化します。
protected void Page_Load(object sender, EventArgs e)
{
SetElementsIdsForPrintHideShow();
}
private void SetElementsIdsForPrintHideShow()
{
BaseMaster2 _master = this.Master as BaseMaster2;
List<string> _ids = new List<string>();
//hide
_ids.Add("btnPrinterFriendly"); //action buttons top
_master.ElementIdsToHideForPrint = _ids;
}