sunil kumar meena Ответов: 1

Как серверные элементы управления доступны в коде за файлами в ASP.NET?


Просто любопытно!

Мне было интересно, что на самом деле происходит, чтобы любой элемент управления, определенный на странице .aspx и имеющий атрибут "runat", был доступен в коде за файлом?

.страница ASPX:
&ЛТ;АСП:метки rundat = "сервер" идентификатор= "ЛБЛ" /&ГТ;

код за страницей:
ЛБЛ.Text = " это метка";

Если кто-то может поделиться некоторой информацией о том, что на самом деле здесь происходит, что делает мою метку доступной в коде после добавления атрибута "runat"?

Что я уже пробовал:

Я пытался найти детали, но получал только то, как получить доступ к элементам управления в коде за страницей, а не фактический машинизм, стоящий за этим.

1 Ответов

Рейтинг:
10

Karthik_Mahalingam

Цитата:
что делает мою метку доступной в коде после добавления атрибута "runat"?


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

например
при добавлении кнопки asp на страницу
<asp:Button ID="btn" runat="server" />

в файле конструктора он будет обновляться следующим образом
protected global::System.Web.UI.WebControls.Button btn;

и, следовательно, btn объект доступен в коде позади, так как код позади и файл конструктора действуют как partial класс.

относиться:
частичный класс c# [^]
Частичные классы и методы (руководство по программированию на C# )[^]


sunil kumar meena

Спасибо за ответ, но я никогда не видел дизайнерского файла в Asp.net. Я искал весь проект, но не смог найти такой файл. Итак, где я могу найти этот файл в своем решении?

Другое дело, что я нашел на форумах MSDN: "если вы создадите веб-сайт, веб-форма будет содержать только файл aspx и файл aspx.cs. Если вы создаете веб-приложение, веб-форма будет содержать файл aspx, файл aspx. cs и файл aspx.designer. cs.". в случае веб-приложения файлы конструктора помогают нам получить доступ к элементам управления на странице code behind, но как насчет веб-сайта, где нет файла конструктора? Как регулирование по-прежнему доступны в коде страницы?

Karthik_Mahalingam

обратитесь к этому
http://stackoverflow.com/a/22249090