Как я могу вернуть результат HttpHandler и присвоить ему свойство text метки в asp

#asp.net #vb.net #httphandler

#asp.net #vb.net #httphandler

Вопрос:

Я хотел бы иметь возможность возвращать текст, сгенерированный из httphandler, и вставлять его на мою веб-страницу во время события onload. Есть примеры, которые показывают, как вернуть изображение, указав для источника изображения путь к обработчику. Но как вы делаете это только для текста, как в базовом шаблоне «hello world». Я бы хотел, чтобы текстовое значение метки на моей странице было установлено в «hello world», предпочтительно без использования javascript.

Ответ №1:

Вы можете попробовать использовать переменную сеанса в вашем HttpHandler. По умолчанию у вас не будет доступа к объекту сеанса.

Вы должны включить следующую библиотеку:

 using System.Web.SessionState;
  

После этого класс должен наследовать IRequiresSessionState.

 public class NewHandler : IHttpHandler, IRequiresSessionState
  

Позже вы сможете получить доступ к значению этой переменной сеанса из своего кода.

Ответ №2:

IHttpHandler.ProcessRequest метод принимает параметр типа HttpContext . У этого класса есть свойство Items, которое представляет собой пару имя-значение. Вы можете добавить свою строку в эту коллекцию элементов и позже ссылаться на нее везде, где когда-либо доступен HttpContext. Следует иметь в виду, что коллекция Items предоставляется по запросу и не сохраняется во всех запросах.