master有时会提示无法将类型为ASP.sitemaster_userpage_master的对象强制转换为SP.sitemaster_userpage_master的问题

时间:2022-02-18 16:26:56
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
这个情况偶尔出现。 不知道什么原因。

9 个解决方案

#1


sf

#2


没遇到过,帮忙顶一下

#3


没人遇到过吗?

#4


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


((MyUserPageMasterClassNameInASPXcs)this.Master).UserId = userId; // MyUserPageMasterClassNameInASPXcs 表示 .master.cs 中的类名

#5


试试吧  可能是这问题  嘻嘻

#6


我遇到过
经常在改master page之后发生

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

#7


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

#8


回 
Jinglecat(晓风残月 >> 问题需简洁,错误要详细,需求得明确) 
可以编译通过的。在引用模板页的aspx页面上加入
<%@ MasterType VirtualPath="~/SiteMaster/UserPage.master" %>
就可以引用userId
我在想问题是不是出在这里

谢谢大家的回复。我测试一下

#9


如果的页面上没有包含自定义控件,就加一个(masterpage)如果有,不知道,因为正在为这个问题愁着呐

#1


sf

#2


没遇到过,帮忙顶一下

#3


没人遇到过吗?

#4


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


((MyUserPageMasterClassNameInASPXcs)this.Master).UserId = userId; // MyUserPageMasterClassNameInASPXcs 表示 .master.cs 中的类名

#5


试试吧  可能是这问题  嘻嘻

#6


我遇到过
经常在改master page之后发生

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

#7


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

#8


回 
Jinglecat(晓风残月 >> 问题需简洁,错误要详细,需求得明确) 
可以编译通过的。在引用模板页的aspx页面上加入
<%@ MasterType VirtualPath="~/SiteMaster/UserPage.master" %>
就可以引用userId
我在想问题是不是出在这里

谢谢大家的回复。我测试一下

#9


如果的页面上没有包含自定义控件,就加一个(masterpage)如果有,不知道,因为正在为这个问题愁着呐