嗨,并提前感谢您的阅读。
最近,我将我的应用程序从.net2升级到.net 4.5。一切正常,除了顶级htm控件
"<html runat="server" id="pageHtm">
运行appplication,我得到了这个奇怪的解析器错误:
The base class includes the field 'pageHtml', but its type (System.Web.UI.HtmlControls.HtmlElement) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlGenericControl).
经过多次尝试后,我发现这是一个已知错误,解决方案是微软的补丁。但是,即使安装了修补程序,问题仍然存在。
答案 0 :(得分:1)
要解决此问题,请按以下步骤操作:
注意占位符PageName表示遇到问题的网页的名称。
2.找到 tbody , thead 和 tfoot 标记的条目。
3.更改条目以将这些标记映射到新类。例如,进行以下
变化。
旧条目
protected global::System.Web.UI.HtmlControls.HtmlGenericControl tbodyname;
新条目
protected global::System.Web.UI.HtmlControls.HtmlTableBodySection tbodyname;
保存PageName.aspx.designer.cs文件。
要使用Visual Studio设计器自动解决此问题,请按照下列步骤操作:
1.在Visual Studio中打开PageName.aspx文件。
注意占位符PageName表示遇到问题的网页的名称。
2.在“源”窗口中,找到 和 标记,然后选择包含这些标记的范围内的所有条目。
3.在修改菜单上,点击剪切。此操作将从PageName.aspx.designer.cs文件中删除相应的条目。
将光标保持在同一位置。
4.在修改菜单上,点击粘贴。此操作将继承新类的条目添加回PageName.aspx.designer.cs文件。
保存PageName.aspx文件。
以上答案是一般解决方案,但您的情况
在解决方案资源管理器中打开您的页面的设计器文件,然后更改所有
System.Web.UI.HtmlControls.HtmlElement
到
System.Web.UI.HtmlControls.HtmlGenericControl