问题
I have a web site i created using VS2012 web edition,
Running a VB.net asp web site,
In the VS2012 debug/release mode it compiles and everything works good, When i upload it to a server (Windows server 2008 R2) I get the following error:
The base class includes the field 'html', but its type (System.Web.UI.HtmlControls.HtmlElement) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlGenericControl).
Line 2:
Line 3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Line 4: <html id="html" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" runat="server">
Line 5: <head id="Head1" runat="server">
Line 6: <title></title>
I looked a bit on the web and found this : VS 2010: Value of type 'System.Web.UI.HtmlControls.HtmlGenericControl' cannot be converted to 'System.Web.UI.HtmlControls.HtmlTableRow'
Installed it but no help,
The site i created was re-created from another vb.net project so i used a web.config with from the old one, maybe it has something to do with it, i have no "assembly" properties it this XML.
Other pages that are not related to that master page (that html tag is running on a master page...) work's fine.
回答1:
OK,
So after trying a lot of stuff that didnt work i found a solution, i dont like this solution but it works,
I went to the page.designer.vb
file, and then looked for the 'html' and 'Head1' properties that were generated there,
In there i replaced their types to System.Web.UI.HtmlControls.HtmlGenericControl
Afterwards, it worked.
Weird bug, nothing else (including the "hot fixes" that are mentioned in other posts helped.
Hope this would help some one out there .
回答2:
Somehow the designer file and the markup file get out of sync, even if the types appear to match.
I changed the ID attribute of the problematic control, saved, and rebuilt in the markup file. I then changed it back to the original ID, saved, and rebuilt.
Problem goes away!
回答3:
Weird issue it is I am not sure if there is a proper solution for this but what worked for me was simply changing the Control ID. and then designer.cs file was changed and all worked good.
来源:https://stackoverflow.com/questions/19502307/asp-net-error-type-is-not-compatible-with-the-type-of-control