日期:2014-05-18  浏览次数:20432 次

master有时会提示无法将类型为ASP.sitemaster_userpage_master的对象强制转换为SP.sitemaster_userpage_master的问题
UserPage.master   是一个模板页
public   int   UserId
        {
                set  
                {  
                      //取用户的数据的操作
                }
      }
protected   void   Page_Load(object   sender,   EventArgs   e)
        {
               
        }
        protected   void   Page_PreRender(object   sender,   EventArgs   e)
        {
                Page.Header.Title   =   string.Format(Title,   Page.Header.Title);

        }

我在其他的页面将userId传递给UserPage.master
this.Master.UserId   =   userId;


有时会提示无法将类型为ASP.sitemaster_userpage_master的对象强制转换为SP.sitemaster_userpage_master
这个情况偶尔出现。   不知道什么原因。


------解决方案--------------------
this.Master.UserId = userId;
=========
我很怀疑你这句代码可以编译通过?


((MyUserPageMasterClassNameInASPXcs)this.Master).UserId = userId; // MyUserPageMasterClassNameInASPXcs 表示 .master.cs 中的类名
------解决方案--------------------
我遇到过
经常在改master page之后发生

解决办法:
删除C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
目录下
当前站点名称的文件夹


------解决方案--------------------
this.Master是弱类型的,你要手动转换为指定的MasterPage派生类。