.Net 4.6.1中的System.Web.UI.HtmlControls.HtmlGenericControl替换

时间:2016-11-14 04:32:11

标签: c# asp.net .net .net-4.6.1

.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) )

enter image description here

此修复程序也解释为here

我们遇到的问题是应用程序也使用HtmlGenericControl(String)构造函数而被替换的HtmlElement()类没有一个构造函数,它使用字符串参数来指定标记。

示例:

var h3Header = new HTMLGenericControl("h3");                        

寻找这样的事情:

var h3Header = new HtmlElement("h3");                        

2 个答案:

答案 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属性生成的控件冲突!