私が理解しているように、HTML5の<input type=email>
要素は、タグをサポートしていないブラウザでは単純なテキストフィールドとしてレンダリングされます。他のブラウザでは、iPhoneのように正しくレンダリングされ、電子メールのキーボードレイアウトが表示されます。
これをプロジェクトで使用したいのですが、入力フィールドは<asp:TextBox>
コントロールです。 HTML5要素を使用しながら、他のフィールドと同じようにサーバー側のデータにアクセスするにはどうすればよいですか?
Type属性を指定できる.NETFramework4の更新があります
http://support.Microsoft.com/kb/2468871 。
見る feature 3
ページのずっと下
特徴3
新しい構文を使用すると、HTML5互換のTextBoxコントロールを定義できます。たとえば、次のコードは、HTML5互換のTextBoxコントロールを定義しています。
<asp:TextBox runat="server" type="some-HTML5-type" />
次のように、属性を手動で追加してみることができます。
TextBox1.Attributes["type"] = "email";
TextBox1.Attributes["type"] = "url";
TextBox1.Attributes["type"] = "number";
申し訳ありませんが、私はパーティーに少し遅れていますが、他の人は私がしたことから利益を得ることができると思います。まだ.NET3.5がありますが、HTML5のページがあります。タイプをemailに変更しましたが、.NET要素を保持したかったのです。私はいくつかの方法(上記のMiloxを含む)を試しましたが、うまくいきませんでした:私はJavaScriptプロパティを要素自体にインラインで追加しました(スクリプトタグに入れると選択されませんでしたなんらかの理由で...)私の変更を使用した場合のタグは次のようになります。
<asp:TextBox runat="server" type="email" onfocus="this.type='email'"/>
エリ
サーバーコントロールとしてアクセスできるかどうかに関係なく、HttpRequest.Form
コレクションにアクセスして値を取得できる必要があります。ブラウザがタグをどのように処理するかに関係なく、ブラウザはサーバーに文字列を送信する必要があります。
.aspxファイルに追加します
<input type="text" required autofocus placeholder="Email Address"
class="txt-input txt-input-username" ID="myTextBox" runat="server"/>
.csの背後にあるコード内
myTextBox.Attributes["type"] = "email";
これは私のために働いた
独自のカスタムコントロールを作成し、レンダリングルーチンをオーバーライドする必要があります。ソースコードまたはDLLのいずれかを自由に使用してください