2016-05-17 2 views
0

У меня есть настраиваемый элемент управления, который использует System.Windows.Form.Textbox в качестве основного текстового поля.Создать текстовое поле типа = "number"

Я хочу изменить этот тип на type="number", но я не вижу способа сделать это.

Конечная цель состоит в том, чтобы иметь поле ввода, которое при нажатии на браузер смартфона даст вам только цифровые клавиши для ввода, а не полную клавиатуру.

Можно ограничивать ввод только числами только JavaScript, но это не то, что я хочу. Мне нужно, чтобы клавиатура открывалась только с номерами. Если есть альтернативный способ достижения этого, чем установка type="number", тогда это тоже должно работать.

+0

Может создать ряд только текстовое поле, как указано в этом СЦ вопрос: http://stackoverflow.com/questions/10758683/how-to-force-only-numeric-values-be-allowed-in-maskedtextbox В частности, последний комментарий – Ash

+0

@ashwin Вы предлагаете вместо этого использовать NumericUpDown? Этот элемент управления генерирует gtml для типа ввода = «число»? –

+0

Несколько предложений здесь: http://stackoverflow.com/questions/9398356/render-asp-net-textbox-as-html5-input-type-number – johna

ответ

0

Вы можете добавить type="number" в текстовое поле ASP.NET и отобразить с этим атрибутом.

<asp:TextBox ID="TextBox1" runat="server" type="number" /> 

В зависимости от версии ASP.NET будет либо сделать с как type="text" и type="number" (v2.0 - v3.5) или просто type="number" (v4.0 +).

Если вы хотите добавить это условно в коде-позади, вы могли бы:

TextBox1.Attributes.Add("type", "number"); 
+0

В asp.net 3.5 '

\t \t <жерех: TextBox Runat = "сервер" Тип = "число" /> \t
' производит' <ввода имя = типа "ctl06" = "текст"> ' –

+0

Только что попробовал в v3.5 здесь и '' приводит к ' 'для меня. Не знаете, почему это для вас другое. – johna

Смежные вопросы