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

По соображениям безопасности вы можете получить только URL-адрес до тех пор, пока содержимое iframe и ссылка на javascript будут отправлены из того же домена. Пока это правда, что-то вроде этого будет работать:

document.getElementById("iframe_id").contentWindow.location.href

Если эти два домена несовместимы, вы столкнетесь с ограничениями на использование скриптов для ссылок на сайты.

См. также отвечает на аналогичный вопрос .

23
задан Paul D. Waite 13 July 2010 в 10:12
поделиться

6 ответов

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

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

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

Функция 3

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

<asp:TextBox runat="server" type="some-HTML5-type" />
24
ответ дан Chris Diver 13 July 2010 в 10:12
поделиться

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

TextBox1.Attributes["type"] = "email"; 
TextBox1.Attributes["type"] = "url"; 
TextBox1.Attributes["type"] = "number"; 
16
ответ дан Milox 13 July 2010 в 10:12
поделиться

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

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

Eli

4
ответ дан Eli 13 July 2010 в 10:12
поделиться

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

2
ответ дан John Bledsoe 13 July 2010 в 10:12
поделиться

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

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

в свой код. .Cs

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

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

2
ответ дан Shelly 13 July 2010 в 10:12
поделиться

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

0
ответ дан ja928 13 July 2010 в 10:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: