Подтвердить что ты не робот

Как я могу использовать тип ввода электронной почты HTML5 с серверной .NET.

Как я понимаю, элемент <input type=email> в HTML5 будет отображаться как простое текстовое поле в браузерах, которые не поддерживают тег. В других браузерах он будет отображаться правильно, например, на iPhone, он поднимет раскладку электронной почты.

Мне нравится использовать это в проекте, но мои поля ввода - это <asp:TextBox>. Как я могу использовать элемент HTML5, но все же получить доступ к его серверу данных, как и остальные мои поля?

4b9b3361

Ответ 1

Существует обновление для .NET framework 4, которое позволяет вам указать атрибут type

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

См. feature 3 путь вниз по странице

Функция 3

Новый синтаксис позволяет определить Элемент управления TextBox, который является HTML5 совместимы. Например, следующее код определяет элемент управления TextBox, который Совместимость с HTML5:

<asp:TextBox runat="server" type="some-HTML5-type" />

Ответ 2

вы можете попробовать добавить атрибуты вручную, например:

TextBox1.Attributes["type"] = "email"; 
TextBox1.Attributes["type"] = "url"; 
TextBox1.Attributes["type"] = "number"; 

Ответ 3

Жаль, что я немного опаздываю на вечеринку, хотя я думаю, что другие могут выиграть от того, что я сделал. У меня есть страница HTML 5, хотя у нас все еще есть .NET 3.5. Мы хотели сохранить элемент .NET, хотя изменение типа для электронной почты. Я пробовал несколько методов (включая Milox выше) безрезультатно, хотя тот, который работал у меня, был следующим: я добавил свойство JavaScript к самому элементу inline (когда я поместил его в тег script, он не будет " т по какой-то причине...) Вот как выглядит ваш тег, если вы используете мои изменения:

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

Эли

Ответ 4

Доступен ли он как серверный элемент или нет, вы можете получить доступ к коллекции HttpRequest.Form и получить значение. Независимо от того, что браузер делает с тегом, он должен отправить строку на сервер.

Ответ 5

в вашем .aspx файле добавить

<input type="text" required autofocus placeholder="Email Address"
class="txt-input txt-input-username" ID="myTextBox" runat="server"/>

в вашем коде .cs

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

Это работало для меня

Ответ 6

Вам нужно создать собственный собственный элемент управления и переопределить подпрограммы Render. Не стесняйтесь использовать либо исходный код, либо библиотеки DLL