我在MasterPage上有公共变量'MessagePlaceholder'和一个访问此属性的类,就像从getMessage()设置它的值为字符串;
((HttpContext.Current.Handler as System.Web.UI.Page).Master as MasterPage).MessagePlaceholder = getMessage();
这给我一个像这样的错误
错误3'System.Web.UI.MasterPage'不包含'MessagePlaceholder'的定义,也没有扩展方法'MessagePlaceholder'接受类型'System.Web.UI.MasterPage'的第一个参数'(是你错过了使用指令或程序集引用?)
我该怎么办?
答案 0 :(得分:1)
您已在主页中添加了变量MessagePlaceHolder。这意味着您已扩展了标准母版页的功能。
您必须将Master属性转换为Masterpage的类型。
((MyMasterClass)((Page)HttpContext.Current.Handler).Master).MessagePlaceHolder = getMessage();
或在VB.Net
DirectCast(DirectCast(HttpContext.Current.Handler, Page).Master, MyMasterClass).MessagePlaceHolder = getMessage()