在C#中渲染html标记

时间:2013-11-24 09:48:07

标签: c# html rendercontrol

嗨,并提前感谢您的阅读。

最近,我将我的应用程序从.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).

经过多次尝试后,我发现这是一个已知错误,解决方案是微软的补丁。但是,即使安装了修补程序,问题仍然存在。

1 个答案:

答案 0 :(得分:1)

要解决此问题,请按以下步骤操作:

  1. 打开PageName.aspx.designer.cs文件。
  2. 注意占位符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