Почему для объявлений серверного управления ASP.Net требуется атрибут runat = "server"? - PullRequest
5 голосов
/ 17 июля 2009

Конечно, того факта, что они объявлены начинающимися с "

Меня всегда беспокоит то, что компилятор говорит мне, что я пропустил это, когда сделал это случайно. Вроде как мышление, стоящее за «var» - если компилятор знает, что это такое .. зачем беспокоиться, что я это скажу?

1 Ответ

8 голосов
/ 17 июля 2009

Взято из этой ветки форума :

Internet Explorer поддерживает DHTML поведения.

[Синтаксис asp: control] не означает сервер контроль. Вы можете создать клиент DHTML компонент, который имеет пространство имен и будет запустить на клиентской машине. Также, пространства имен разрешены в XHTML и технически вы можете использовать пространство имен asp для чего-то еще на клиенте, если вы пожелает. Runat = "сервер" мешает столкновение пространства имен. Если элемент не имеет runat = "server", это будет отправлено в браузер клиента без изменений. Таким образом, вы можете использовать компоненты HTML (HTC) на страницах ASP.NET, а также.

Взгляните сюда

http://msdn.microsoft.com/workshop/author/behaviors/howto/creating.asp http://msdn.microsoft.com/workshop/author/behaviors/overview.asp

Майк Шинкель также имеет сообщение в блоге , объясняющее, почему необходим runat = сервер.

...