2010-02-24 3 views
6

Мне хотелось бы знать, какая именно разница между Html-управлениемУправление html и управление веб-сайтом asp.net

и asp.net управление веб-сайтом. почему нам нужны эти два типа элементов управления?

я поместил один HTML ввода текста, кнопка HTML и текстовое поле asp.net и ASP.NET КНОПКА на моей веб-странице

<input id="Text1" type="text" /> 

    <input id="Button2" type="button" value="button" /> 







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

    <asp:Button ID="Button1" runat="server" Text="Button" /> 

, когда я взять просмотреть исходный код, как визуализируются аналогично

<input id="Text1" type="text" /> 

    <input id="Button2" type="button" value="button" /> 




    <input name="TextBox1" type="text" id="TextBox1" /> 

    <input type="submit" name="Button1" value="Button" id="Button1" /> 

В чем преимущество веб-контроля над html-контролем.

Я получил некоторые ссылки в Интернете, но не ясно, что именно

они используются.

http://www.extremeexperts.com/Net/FAQ/DiffBetweenServerandHTMLControls.aspx.

Может ли кто-нибудь объяснить разницу между этими двумя элементами управления.

ответ

1

Вкратце HTML-элементы управления не сохраняют свое состояние во время Postbacks. С другой стороны, управление ASP.Net обеспечивает вам роскошь, чтобы сохранить свое состояние в автоматическом режиме несколькими ретрансляторами. Различный при использовании управления ASP.Net вместо HTML элемента:

<input type="hidden" name="__VIEWSTATE" value="dDwtNTI0ODU5MDE1Ozs+.................." />

Это скрытое поле автоматически генерируются ASP.Net и содержит все, что вы контролируете состояние в значении атрибута.

0

Элементы управления сервером имеют атрибут runat = "server", который позволяет предоставить серверную логику для этих элементов управления в коде. Вы также можете добавить этот атрибут в существующие элементы управления HTML, чтобы получить эту же функциональность.

0

Элементы управления HTML - это простые элементы управления, которые непосредственно соответствуют элементам HTML.

Веб-элементы управления ASP.NET абстрагируют элементы HTML и обычно обеспечивают больший контроль над стилем (хотя некоторые из них назвали бы это плохой).

5

Во-первых, если вы перетащите элемент управления Html из панели инструментов на поверхность вашего дизайна, как в вашем примере, созданный тег не включает runat = "server". Это означает, что это собственный тег Html, а не элемент управления .NET. Собственный тег Html без runat = "server" не имеет функциональности на стороне сервера. Таким образом, вы не можете установить значение входного тега «Text1» в коде.

Во-вторых, как только вы добавите runat = "server" в свой тег ввода Html, вы преобразовываете его из собственного тега Html в HtmlControl, который происходит из System.Web.UI.Control. Теперь вопрос может превратиться в различия между тем, что происходит от System.Web.UI.Control и System.Web.UI.WebControl. Тем не менее, конкретно на Ваш вопрос, давайте сравним стандартный тип ввода = «текст» управления для управления TextBox:

  1. управления TextBox может быть доступ из кода-за, где входной контроль не может (не легко), который также означает, что вы можете подключаться к серверным событиям для элемента управления TextBox, тогда как вы не можете использовать стандартный элемент управления Html.
  2. Элемент управления TextBox автоматически сохраняет свое значение с помощью ViewState.
  3. Элемент управления TextBox можно обходить с помощью файла Theme и .skin, тогда как собственный элемент управления Html не может.
  4. TextBox может отображать как элемент ввода = «текст», так и текстовое поле в зависимости от его свойства TextMode.
  5. Элемент управления TextBox может участвовать в валидации с использованием валидаторов.
  6. И последнее, но не менее важное: элемент управления TextBox может использовать адаптеры управления для визуализации по-разному в разных браузерах, если это необходимо. См. http://msdn.microsoft.com/en-us/magazine/cc163543.aspx.

Теперь, если вы не нуждаетесь в каких-либо возможностях WebControl, то использование собственного элемента управления Html по существу является более компактным. В вашем примере вы просто перетащили два пустых элемента управления на свою поверхность дизайна. Если это все, что вам нужно, то использование элемента управления .NET будет излишним. Однако, когда вы начинаете добавлять события AutoComplete и серверных событий и т. Д., Полный контент, Javascript и все, что попадает в браузер, намного больше.

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