據我所知,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