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

Asp: текстовое поле и текст ввода (PHP Developer, изучающий ASP)

Я был разработчиком PHP в течение 10 лет, пытаясь расширить горизонт. Я делаю проект в ASP.NET. В чем преимущество использования <asp:TextBox> с использованием стандартного <input type=’text’>?

Кажется выгодным использовать обычный <input type="text"> над <asp:TextBox>. Во-первых, когда страница отображается, <asp:TextBox> становится стандартом <input type=text>. Когда я использую стандартный <input type="text">, я могу легко получить их значение с помощью кода serveride через Request.Form [ "Name" ]. Затем, когда я динамически добавляю входы (через javascript), я не могу использовать TextBoxs, я должен использовать <inputs type="text">. В конце концов, не будет ли быстрее выполнять обычный ввод? Если я код с <asp:TextBox>, это должно быть показано, где, если я использую <input type="text">, его просто нужно отобразить.

В других словах зачем беспокоиться обо всех элементах asp, когда стандартные входы работают так же хорошо, а если не лучше...

4b9b3361

Ответ 1

В чем преимущество использования over с использованием стандартного <input type=’text’>?

  • Вы можете ссылаться на текстовое поле немного легче на странице с кодом
    • Заметка, что вы можете использовать любой элемент HTML в коде, используя runat="server" внутри элемента управления
  • У вас есть доступ к большему количеству свойств в текстовом поле, чем элемент ввода html
  • Вы можете использовать текстовые поля с другими элементами управления ASP.NET, такими как валидаторы
  • С ними проще выполнять привязку данных, чем входы
  • Вы можете добавлять события с текстовыми полями проще и почти без усилий по сравнению с использованием ввода и javascript

Сравнительное резюме

  • Более быстрое/упрощение программирования
  • Совместимость с другими элементами управления ASP.NET

Далее, когда я динамически добавляю входы (через javascript), я не могу использовать TextBoxs, мне нужно использовать <inputs type="text">.

Является ли использование ASP.NET или Javascript динамически добавленных элементов управления очень беспорядочным. Гораздо проще скрыть/показать элементы управления в случае необходимости (или использовать репитеры или datagrids).

Наконец, не было бы быстрее отобразить обычный ввод? Если я кодирую код, это должно быть показано, где, если я его использую, просто нужно отобразить.

Я не считаю справедливым сравнивать скорость ASP.NET с приложениями HTML/Javascript. ASP.NET предназначался для визуализации элементов управления ASP.NET, а использование элементов управления HTML внутри ASP.NET не будет иметь заметных приростов производительности.

ASP.NET vs HTML/Javascript

Я чувствую, что ваш вопрос в основном сводится к "Почему бы не использовать кирпич на гвоздь, а не молоток?" ASP.NET - это основа и была создана с учетом элементов управления ASP.NET. Цель состоит в том, чтобы позволить вещам программироваться быстрее, проще, абстрагируя большинство вещей (обычно тривиальных, повторяющихся), которые обычно выполняются с помощью Javascript.

Ответ 2

<asp:TextBox> является управляющим сервером, который в конечном итоге преобразуется в <input, поскольку страница получает визуализацию в html. Подобно <asp:TextBox>, вы увидите, что есть другие элементы управления, которые будут преобразованы в стандартные элементы HTML.

<asp:TextBox>

Является управляющим сервером, чтобы вы могли получить к нему доступ в коде, используя свой идентификатор, поэтому вы даже можете выполнять .visible = true или false в коде позади.

Это может помочь

Управление сервером ASP.NET
Преимущества:

  • Элементы управления ASP.NET Server могут, однако, определять целевые возможности браузера и соответственно отображать их. Нет проблем с совместимостью браузеров на странице, которая может быть использована как HTML 3.2, так и HTML 4.0 браузером, который будет написан вами.
  • Более новый набор элементов управления, который можно использовать таким же образом, как любой элемент управления HTMl, например, элементы управления Calender. (Нет необходимости в ActiveX Control для этого, что затем вызовет проблемы совместимости с браузером).
  • Обработка будет выполняться на стороне сервера. В встроенных функциях для проверки нескольких значений (с помощью элементов управления Validation) нет необходимости выбирать между языком сценариев, который был бы несовместим с несколькими браузерами.
  • Элементы управления ASP.NET Server имеют объектную модель, отличную от традиционного HTML, и даже предоставляют набор свойств и методов, которые могут изменять внешний вид и поведение элементов управления.
  • Элементы управления ASP.NET Server имеют более высокий уровень абстракции. Результат управления сервером ASP.NET может быть результатом многих тегов HTML, которые объединяются вместе для создания этого элемента управления и его событий.

Недостатки:

  • Контроль кода встроен с элементами управления веб-сервером, поэтому вы не имеете прямого контроля над этими элементами управления.
  • Миграция ASP в любое приложение ASP.NET затруднительна. Его эквивалент переписывания вашего нового приложения

Ответ 3

Вы можете добавить атрибут runat="server" в любой обычный тег HTML в ASP.NET WebForms, и он будет доступен вам в коде позади как HtmlGenericControl. Вы можете установить текст через HtmlGenericControl.InnerText и HTML через HtmlGenericControl.InnerHTML.

Преимущество использования ASP.NET TextBox заключается в том, что вы можете сделать его как <input type="text" /> или как <textarea /> (TextBox.TextMode="multiline")

См. msdn.microsoft.com/en-us/library/7512d0d0.aspx и msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.aspx