HTML5电子邮件输入无法分配ID和RUNAT =“服务器”ASP.NET 4

您好我正在尝试为HTML5输入分配一个ID,以便我可以从Web表单中的代码访问其值。 但是这个代码:

 

Visual Studio 2010告诉我它无法解析符号ID =“myTextBox”。

关于如何解决这个问题的任何想法,因为我一直在寻找答案近一天? 谢谢

ASP.Net 4.0 HtmlGenericControl不支持代码中定义的“Type”属性,错误解释了, Parser错误消息:’email’不是输入标记的有效类型。 ,这可以说是ASP.Net框架中一个“众所周知”或容易发现的错误。

这里列出了几种解决方案:
http://msdn.microsoft.com/en-us/magazine/hh547102.aspxre
更新框架并使用Asp.Net TextBox控件Scott Hunter – 针对.NET 4的HTML 5更新
使用第三方ASP.Net Html5 UI控件,例如Codeplex提供的控件 。

提出了类似的问题,并回答了以下SOpost:
如何在服务器端.NET中使用HTML5电子邮件输入类型 – 这与HtmlGenericControl的问题相同,但更新中未解决此问题
服务器端控件上的输入类型

我的个人偏好最终转移到ASP.Net MVC 3 ,它相当陡峭的学习曲线和ASP.Net Web开发的“Web Forms”风格的重大变化,但是一旦你习惯了语义,它很快就会被遗忘编码风格。

使用此代码使用HTML5输入类型:

  1. .aspx文件中使用:

      
  2. .cs文件中使用它:

      myTextBox.Attributes["type"] = "email"; 

除了上面答案中给出的解决方案,您可以使用Microsoft.net框架4.5或更高版本,不会抱怨“电子邮件”不是输入的有效类型。

要通过右键单击解决方案资源管理器中的项目并单击属性来更改网站框架,请访问网站的属性。 在属性窗口中,从左侧菜单中选择构建,然后选择框架4.5或更高版本。

在此处输入图像描述