Извлечение значений из перенаправления URL-адреса на целевой странице?

StackOverflow https://stackoverflow.com/questions/652649

Вопрос

ОК...Маршрутизация URL работает просто отлично, но я не могу понять, как на самом деле прочитать значения на целевой странице.

Один из приведенных здесь примеров показывает использование объекта RouteValue из RequestContext .Теперь все они находятся в пространстве имен System.Web.Routing, но, похоже, все подключают их только к MVC.Откуда берется RequestContext?

Как мне прочитать эти параметры???

Строка запроса также пуста.

ТИА!Кевин

Это было полезно?

Решение

Решил эту проблему самостоятельно...Ура мне!!!:)

Начал возиться с вещами и увидел, что интерфейс IHttpHandler предоставляет RequestContext методу GetHttpHandler.

Итак, я изменил свой базовый класс страницы (я всегда помещаю слой между System.Web.UI.Page и моими собственными страницами, называя его BasePage или подобным просто для этой цели).Поэтому я добавил общедоступное свойство в PVBasePage, чтобы получить объект RequestContext.

public RequestContext RequestContext { get; set; }

Затем мой код класса маршрутизации выглядит следующим образом:

IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext)
{
    // create the page object as my own page...
    var page = BuildManager.CreateInstanceFromVirtualPath(VirtualPath
        , typeof(PVBasePage)) as PVBasePage;
    // pass in the request context
    page.RequestContext = requestContext;
    // return this page in the form of a IHttpHandler
    return page as IHttpHandler;
}

Поэтому вместо того, чтобы, как в примере кода, создавать экземпляр непосредственно как IHttpHandler, я создаю его как свою собственную страницу.Установите свойство контекста запроса, а затем верните страницу вызывающему объекту В КАЧЕСТВЕ IHttpHandler.

Протестировано, и это работает.У-У-У!

Надеюсь, это поможет кому-то еще в будущем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top