.Net framework 4.6.1中可用于生成HTML内容的HtmlGenericControl(String)等效类是什么?
对于ASP.Net Web应用程序,我们正在将.Net框架从4.0升级到4.6.1。我们已经在所有类中用System.Web.UI.HtmlControls.HtmlElement替换了System.Web.UI.HtmlControls.HtmlGenericControl,但是它导致了以下错误消息。
基类包含字段' html',但其类型(System.Web.UI.HtmlControls.HtmlGenericControl)与控件类型不兼容(System.Web.UI.HtmlControls.HtmlElement) )
此修复程序也解释为here。
我们遇到的问题是应用程序也使用HtmlGenericControl(String)构造函数而被替换的HtmlElement()类没有一个构造函数,它使用字符串参数来指定标记。
示例:
var h3Header = new HTMLGenericControl("h3");
寻找这样的事情:
var h3Header = new HtmlElement("h3");
答案 0 :(得分:1)
我们最终使用'HTMLGenericControl()'并将web.config targetFramework更改为4.0而不是4.6.1。
<compilation debug="true" targetFramework="4.0">
这允许我们在使用现有的“HTMLGenericControl()”代码时在Web项目中使用.Net framework 4.6.1编译库。
答案 1 :(得分:0)
从3.5迁移到4.5时,我们偶然发现了这个问题。我们的编译标签配置如下:
<compilation debug="false" batch="false" targetFramework="4.5">
我们以另一种方式解决了错误消息:
基类包含字段'html',但是其类型(System.Web.UI.HtmlControls.HtmlGenericControl)与控件的类型(System.Web.UI.HtmlControls.HtmlElement)不兼容
您需要在以下内容中替换id="html"
:
<html xmlns="http://www.w3.org/1999/xhtml" runat="server" id="html">
成为:
<html xmlns="http://www.w3.org/1999/xhtml" runat="server" id="randomidentifier">
因此,基类中的“ html”字段与ASP.NET运行时基于id属性生成的控件冲突!