C# 更改类名会引发Viewstate错误

C# 更改类名会引发Viewstate错误,c#,asp.net,sharepoint,viewstate,C#,Asp.net,Sharepoint,Viewstate,我必须在一台外国机器上的aspx文件中编写一个小应用程序 为了获得正确的参考资料等,我选择了一个aspx页面,该页面已经开始工作,并且与想要的功能只有一些区别 所以我复制了文件并做了修改。这一切都很好,直到我在aspx中更改类名。这很好: <%@ Assembly Name="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

我必须在一台外国机器上的aspx文件中编写一个小应用程序

为了获得正确的参考资料等,我选择了一个aspx页面,该页面已经开始工作,并且与想要的功能只有一些区别

所以我复制了文件并做了修改。这一切都很好,直到我在aspx中更改类名。这很好:

<%@ Assembly Name="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>    
<%@ Page
        Language="C#"
        MasterPageFile="/_catalogs/masterpage/my.master"
        Debug="true"
        AutoEventWireup="true"
        ClassName="namespace.oldclassname"    
     %>
但是更改类名:这就是剩下的所有内容,文件中没有其他行,我仍然得到这个错误

<%@ Assembly Name="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Page
        Language="C#"
        MasterPageFile="/_catalogs/masterpage/my.master"
        Debug="true"
        AutoEventWireup="true"
        ClassName="namespace.newclassname"    
     %>
导致此错误的原因:

viewstate MAC验证失败。如果此应用程序由 Web场或群集,请确保配置指定 相同的validationKey和验证算法。无法自动生成 可以在集群中使用

我找到了很多关于这个错误的来源,但是没有一个是特定于类的。
此页面位于SharePoint环境中,但我认为这不是SharePoint特有的问题。

是否验证了.cs文件和.designer.cs文件中的名称?这些文件通常不会自动更改。没有.cs文件。所有代码都是在aspx文件中使用为什么需要更改ClassName属性来完成的?您可以完全删除它。MSDN声明一个字符串,指定请求页面时将动态编译的页面类的名称。此值可以是任何有效的类名,并且可以包括完全限定的类名。如果未指定此属性的值,则编译页面的类名基于页面的文件名,并使用默认命名空间ASP。。为什么标准名称约定不能满足您的需要?删除它会导致相同的异常