如何在服务器端.NET中使用HTML5电子邮件输入类型

Mic*_*ael 23 asp.net html5 webforms

据我了解,<input type=email>HTML5中的元素将在不支持该标记的浏览器中呈现为一个简单的文本字段.在其他浏览器上,它将正确呈现,就像在iPhone上一样,它将调出电子邮件键盘布局.

我想在项目中使用它,但我的输入字段是<asp:TextBox>控件.我如何使用HTML5元素,但仍像其他字段一样访问其数据服务器端?

Chr*_*ver 24

.NET framework 4有一个更新,允许您指定type属性

http://support.microsoft.com/kb/2468871.

请看feature 3页面

特色3

新语法允许您定义与HTML5兼容的TextBox控件.例如,以下代码定义了与HTML5兼容的TextBox控件:

<asp:TextBox runat="server" type="some-HTML5-type" />
Run Code Online (Sandbox Code Playgroud)


Mil*_*lox 16

您可以尝试手动添加属性,例如:

TextBox1.Attributes["type"] = "email"; 
TextBox1.Attributes["type"] = "url"; 
TextBox1.Attributes["type"] = "number"; 
Run Code Online (Sandbox Code Playgroud)


Eli*_*Eli 5

抱歉,我参加聚会有点晚了,尽管我认为其他人可以从我所做的事情中受益。我有一个HTML 5页面,尽管我们仍然有.NET 3.5。我们希望保留.NET元素,尽管将类型更改为email。我尝试了几种方法(包括上面的Milox)都无济于事,尽管对我有用的方法如下:我向元素本身内联添加了JavaScript属性(当我将其放入script标签时,它不会选择)由于某种原因而启动...)如果您使用我的更改,则标签的外观如下:

<asp:TextBox runat="server" type="email" onfocus="this.type='email'"/>

以利


Joh*_*soe 3

无论它是否可以作为服务器控件进行访问,您都应该能够访问该HttpRequest.Form集合并检索该值。无论浏览器对标签做什么,它都必须向服务器提交一个字符串。