Как я могу получить доступ к элементам управления на своей странице ASP.NET из класса в решении?C#

Место общения программистов C#
Anonymous
Как я могу получить доступ к элементам управления на своей странице ASP.NET из класса в решении?

Сообщение Anonymous »

У меня есть проект с Default.aspx и несколькими метками, текстовыми полями и т. д., но я не использую MasterPage. Я нашел способ получить доступ к элементам управления на своей странице ASP.NET, но я уверен, что он работает так, как я хочу.
Я могу получить доступ к элементам управления и установить их свойства из PageLoad.
Однако я создал класс, подобный приведенному ниже фрагменту кода, но он выдает ошибку:

Код: Выделить всё

class Functions
{
public static void myMethod()
{
WebForm1 mainForm = new WebForm1();
mainForm.myTextBox.Text = "Something.";
}
}
Ссылка на объект не установлена ​​на экземпляр объекта.

Мне удалось это сделать:

Код: Выделить всё

class Functions
{
public static void myMethod()
{
System.Web.UI.Page myMainForm;
myMainForm = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;
TextBox myTextBox = (TextBox)myMainForm.FindControl("myTextBox");
}
}
но я хочу понять, в чем я ошибаюсь.
Мне не нравится использовать FindControl() для каждого элемента управления, к которому я пытаюсь получить доступ. Я ищу простой, но эффективный обходной путь.

Вернуться в «C#»