2015-11-30 2 views
0

Давайте предположим, что у меня есть текстовое поле в WebForms проект, который выглядит следующим образом:ASP.NET WebForms Textbox удаляет HTML5 шаблон атрибут

<asp:textbox id="TextBox1" runat="server" pattern="[A-Za-z0-9\s]{4,}"/> 

После рендеринга, атрибут шаблон удаляется. Если добавить атрибут в коде-за атрибута также удаляется:

TextBox1.Attributes.Add("pattern", "[A-Za-z0-9\\s]{4,}"); 

Это не имеет значения, что картина на самом деле. Это атрибут с именем «шаблон», который очищается при рендеринге. Назовите атрибут что-то еще, и он будет отображаться.

Я не могу найти документацию об этом и никто с той же проблемой. Кто-нибудь получил обход, не написав настраиваемый серверный элемент управления, который расширяет TextBox?

+0

Если вы используете Visual Studio, возможно, попробуйте обновить HTML Validation в настройках? Goto Tools-> Текстовый редактор-> HTML (Веб-формы) -> Валидация, затем выберите HTML5 в «Target, если не найден тип doctype». В противном случае дважды проверьте, что используемый вами браузер совместим с HTML5? – tbm0115

ответ

0

я отслеживал его вниз к использованию в Интернете Практический инструментарий. В частности, часть, которая гласит: «Удалите атрибут шаблона, пока он не будет безопасен для использования с помощью проверки jQuery». Будет ли проблема с ними.

https://github.com/wet-boew/wet-boew/blob/0f614e0efd50df7970a6fc6bb72104e43b48e8f5/src/plugins/formvalid/formvalid.js#L105

0

Ваш атрибут patter не удаляется. Если вы определили свой шаблон как атрибут шаблона из текстового поля:

<asp:textbox id="TextBox1" runat="server" pattern="[A-Za-z0-9\s]{4,}"/> 

Затем в коде позади вы можете проверить значение:

 var r = TextBox1.Attributes["pattern"]; 
+0

Нет, он вычищен. Посмотрите источник, и его там не видно. –

+0

Я вижу это в View Source: Gregg

+0

Да. .. Я изучаю его дальше и, похоже, что-то связано с местным проектом. Я пытаюсь отследить его. –