Baroor Ответов: 2

Как получить доступ к элементу управления текстовым полем aspx в статическом методе


Всем Привет,

как получить доступ к элементу управления текстовым полем aspx в статическом методе in asp.net

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

если (объект HttpContext.Ток != нуль)
{
Страница page = (страница)HttpContext.Current.Обработчик;
TextBox TextBox1 = (текстовое поле)страница.FindControl("txtVerticalName");
}

2 Ответов

Рейтинг:
0

F-ES Sitecore

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

Если вам нужно получить доступ к каким-либо управляющим значениям, то они должны быть прочитаны вызывающим js и переданы вашему методу в качестве параметра;

обработчик.данного?название=valueofnamecontrolhere

Аналогично, если вы хотите обновить элемент управления, вам нужно отправить обновленное значение в результате, скажем, вернув json, как

{имя: "Джон"}

и вызывающий js должен получить эти данные и обновить соответствующий элемент управления, чтобы придать ему новое значение.

Если вы звоните в google asp.net обработчики из jquery вы, вероятно, найдете примеры выполнения всех этих вещей.


Рейтинг:
0

mohsenalaghemand

Привет,Вы можете использовать этот образец:

Страница page = (страница)HttpContext.Current.Обработчик;
TextBox TextBox1 = (текстовое поле)страница.FindControl("TextBox1");
TextBox TextBox2 = (текстовое поле)страница.FindControl("TextBox2");
Поля Num1=Текстовое Поле Textbox1 .текст;
Пит2=Поле Textbox2 .текст;


Richard Deeming

Это фактически идентично коду, уже опубликованному в вопросе.

Непонятно, почему ОП изо всех сил старался заставить этот код работать. Но повторное размещение того же кода явно не поможет.