Почему ASP.Для объявлений элементов управления Net server требуется атрибут runat=“server”?
-
16-09-2019 - |
Вопрос
Конечно, тот факт, что они объявлены начинающимися с "Или это просто включено для полноты картины (чтобы они выглядели похожими на объявление серверного элемента управления Или есть какая-то особая причина?
Просто меня всегда беспокоит, что компилятор говорит мне, что я это пропустил, когда я делаю это случайно.Что-то вроде мышления, стоящего за словом "var" - если компилятор знает, что это такое..зачем утруждать себя ожиданием, что я это заявлю?
Решение
Взято из эта тема форума:
Internet Explorer поддерживает DHTML поведение.
[Синтаксис asp:control] не означает сервер управление.Вы можете создать клиентский DHTML компонент, который имеет пространство имен и будет запускаться на клиентском компьютере.Кроме того, пространства имен разрешены в XHTML и технически вы можете использовать пространство имен asp для чего-то другого на клиенте, если хотите .Runat="сервер" предотвращает столкновение пространств имен.Если элемент не имеет атрибута runat="server", он будет отправлен в клиентский браузер без изменений.Следовательно, вы также можете использовать HTML-компоненты (HTCS) на ASP.NET страницах.
Взгляните сюда
http://msdn.microsoft.com/workshop/author/behaviors/howto/creating.asp http://msdn.microsoft.com/workshop/author/behaviors/overview.asp
Майк Шинкель также есть запись в блоге исследуем, зачем нужен runat=server.