2012-03-21 1 views
9

Привет Я пытаюсь назначить идентификатор для ввода HTML5, чтобы получить доступ к его значению из кода, расположенного в веб-форме. Однако с этим кодом:Ввод HTML5 не может назначить идентификатор и RUNAT = «Сервер» ASP.NET 4

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

Visual Studio 2010 говорит мне, что он не может разрешить символ ID = «MyTextBox».

Любые идеи о том, как я могу исправить это, потому что я искал ответ почти на день? благодаря

ответ

5

ASP.Net 4.0 HtmlGenericControl не поддерживает «Тип» атрибут, как это определено в коде, ошибка объясняет, что Parser Сообщение об ошибке: «электронная почта» не является допустимым типом для ввода тега., это, возможно, «хорошо известная» или легко обнаруживаемая ошибка в структуре ASP.Net.

Есть несколько решений, которые изложены здесь:
http://msdn.microsoft.com/en-us/magazine/hh547102.aspxre
Обновление рамки и используют TextBox управления Asp.Net Scott Hunter - HTML 5 Updates for .NET 4
Используйте 3rd party ASP.Net Html5 UI control например, один из имеющихся Codeplex.

Аналогичный вопрос задают и ответил на следующие SO сообщений:
How can I use HTML5 email input type with server-side .NET - Это та же проблема, как и для HtmlGenericControl однако оно не рассматривается в обновлении
input types on server side controls


Мой личный предпочтение в конечном итоге состоял в том, чтобы перейти на ASP.Net MVC 3, его довольно крутая кривая обучения и большое изменение в стиле веб-форм веб-разработки ASP.Net, но вскоре он был забыт, как только вы привыкнете к симтикам и трески стилей.

15

Используйте этот код, чтобы использовать HTML5 тип входа:

  1. Используйте это в .aspx файле:

    <input type="text" required autofocus placeholder="Email Address" 
        class="txt-input txt-input-username" ID="myTextBox" runat="server"/> 
    
  2. использовать это в .cs файле:

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

Хороший вариант для тех, кто из нас на старой версии фреймворка. –

2

Кроме того, в приведенных выше ответах вы можете использовать среду Microsoft.net 4.5 или выше, которая не будет жаловаться на «электронную почту», не является допустимым типом для ввода.

Чтобы изменить структуру веб-сайта, откройте свойства веб-сайта, щелкнув правой кнопкой мыши проект в браузере решений и нажав свойства. В окне свойств выберите сборку из меню слева, а затем выберите фреймворк 4.5 или выше.

enter image description here

+0

Дизайнер веб-страниц Visual Studion отображает ошибку - email 'не является допустимым типом для входного тега - при рендеринге управления . – machj