据我所知,HTML5中的<input type=email>
元素将在不支持标签的浏览器中呈现为简单的文本字段。在其他浏览器上,它会正确渲染,就像在iPhone上它会弹出电子邮件键盘布局。如何在服务器端.NET中使用HTML5电子邮件输入类型
我想在项目中使用它,但我的输入字段是<asp:TextBox>
控件。我怎样才能使用HTML5元素,但仍然像我的其他领域一样访问其数据服务器端?
据我所知,HTML5中的<input type=email>
元素将在不支持标签的浏览器中呈现为简单的文本字段。在其他浏览器上,它会正确渲染,就像在iPhone上它会弹出电子邮件键盘布局。如何在服务器端.NET中使用HTML5电子邮件输入类型
我想在项目中使用它,但我的输入字段是<asp:TextBox>
控件。我怎样才能使用HTML5元素,但仍然像我的其他领域一样访问其数据服务器端?
无论它是否可作为服务器控件访问,您应该能够访问HttpRequest.Form
集合并检索该值。无论浏览器如何处理标签,它都必须向服务器提交一个字符串。
在手表中,我只看到request.form中的runat = server控件。所以这让我认为这种形式并不是将该字段发送到服务器 - 只有runat =服务器控制 – Michael 2010-07-12 21:00:08
您需要创建自己的自定义控件并覆盖渲染例程。随意使用任一的源代码或DLL
没有为.NET框架4的更新,其允许用户指定的类型属性
http://support.microsoft.com/kb/2468871。
见feature 3
一路下跌的页面
特点3
的新语法允许您定义 TextBox控件是HTML5兼容 。例如,下面的 代码定义了一个TextBox控件是 HTML5兼容:
<asp:TextBox runat="server" type="some-HTML5-type" />
在Windows 2003服务器上安装了此更新,但它没有解决问题,但是Milox的答案确实有效。 – 2013-07-10 19:36:46
你可以尝试手动添加的属性,如:
TextBox1.Attributes["type"] = "email";
TextBox1.Attributes["type"] = "url";
TextBox1.Attributes["type"] = "number";
适用于ASP.NET 3.5 – 2014-01-30 00:56:42
此解决方案在ASP.NET 4.0中对我无效 – 2015-06-15 09:40:26
添加
<input type="text" required autofocus placeholder="Email Address"
class="txt-input txt-input-username" ID="myTextBox" runat="server"/>
在你的代码后面.cs
myTextBox.Attributes["type"] = "email";
这为我工作
对不起,我有点迟到了,但我认为其他人可以从我做了什么好处。虽然我们仍然有.NET 3.5,但我有一个HTML 5的页面。我们想要保持.NET元素,尽管将类型更改为电子邮件。我已经尝试了几种方法(包括上面的Milox)无济于事,尽管为我工作的方法如下:我为内联元素添加了JavaScript属性(当我将它放在脚本标记中时,它不会选择因某种原因...) 这里是你的代码是什么样子,如果你用我的变化:
<asp:TextBox runat="server" type="email" onfocus="this.type='email'"/>
礼
我要指出,增加一个简单的RUNAT =服务器输入元素与类型=电子邮件不起作用 – Michael 2010-07-12 20:37:23
如果你给它一个名字,那么你不能只访问像任何其他领域的名称? – Iznogood 2010-07-12 20:40:46
可能是http:// stackoverflow的副本。com/questions/3388160/iphone-email-keyboard-layout-with-asp-net-textbox – ajcw 2011-02-08 09:56:38