Вопрос по asp.net, html, webforms – Когда использовать runat = «server» в обычном HTML

22

Всегда ли уместно использовать runat = & quot; server & quot; на стандартный элемент HTML вместо истинного элемента управления ASP.NET? У меня есть полный контроль над настройкой html / text нормального элемента, так почему бы мне не использовать его вместо «clunky»? ASP.NET WebForms контроля?

Если одно лучше другого, то некоторые интересные места я бы хотел узнать:

Performance differences Functionality differences Other differences not so obvious?

Разница в примере:

<asp:Literal ID="mySpecialHtml" runat="server" />

<div id="mySpecialHtml" runat="server" />

Ваш Ответ

5   ответов
4

html w / runat = & quot; сервер & quot; пометить как HTML-сервер управления. Пример:

<a runat="server"></a>

интерпретируется как

<asp:HtmlAnchor runat="server"></asp:HtmlAnchor>

Итак, учтите, что если вы используете runat = & quot; server & quot; чем вы используете соответствующий элемент управления HTML Server.

Кроме того, ASP.NET содержит набор элементов управления веб-сервера, то есть элемента управления HyperLink, которые предоставляют больше функций, больше свойств, событий и т. Д., Но в некоторых случаях могут работать медленнее.

+1 Некоторые люди думают, что добавление runat = & quot; сервер & quot; элемент управления HTML ничего не меняет, хотя на самом деле они преобразовывают этот элемент управления в элемент управления сервера.
18

которые соответствуют элементам HTML, находятся вSystem.Web.UI.HtmlControls пространство имен и веб-элементы управления находятся вSystem.Web.UI.WebControls Пространство имен.

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

HTML-элемент управления отображается как отдельный элемент HTML, а веб-элемент управления отображается как ноль или более элементов HTML.Literal элемент управления, например, не отображается как элемент, он только выводит свой текст. Существуют другие элементы управления, которые не отображают какие-либо элементы сами по себе, напримерRepeater а такжеPlaceHolder управления. С другой стороны,CheckBoxList элемент управления, например, отображается в виде нескольких элементов HTML,table как контейнер, иinput элементы для каждого флажка внутри него.

Примером элемента управления, который отображается с использованием различных элементов, являетсяTextBox контроль, который будет представлен какinput илиtextarea элемент в зависимости от егоTextMode имущество.

Веб-элементы управления имеют больше функций, но также используют больше ресурсов. Они имеют больше свойств и поддерживают такие вещи, как темы и привязка данных. Многие веб-элементы управления помещают данные вViewState, который отправляется как часть страницы. Если вы не будете осторожны,ViewState может стать довольно большим и повлиять на время загрузки страницы.

1

когда на стороне клиента больше работы, и элементы управления asp.net, когда больше работы на стороне сервера (код позади).

11

по которой я использовал серверные элементы управления html - это когда мне нужна была гибкость в написании моего собственного html, но мне все еще требовался доступ к его свойствам в коде.

<div id="mySpecialHtml" runat="server" />

В коде позади:

mySpecialHtml.InnerHtml = "something else";
1

Я полагаю, что ASP.NET использует другой набор элементов управления веб-сервера, который обычно обладает гораздо большей функциональностью, но на самом деле он соответствует вашим предпочтениям. Если ваша работа в основном на стороне сервера, я бы использовал элементы управления ASP.NET.

Похожие вопросы