从检索URL重新路由值在目标页面上?
-
19-08-2019 - |
题
好...了URL路由工作得很好,但无法弄清楚如何在实际目标页面读取的值。
一个例子这里示出了使用从所述的RequestContext对象RouteValue。现在,所有的这些都在System.Web.Routing命名空间,但是大家似乎这些被连接到只有MVC。在什么地方的RequestContext从何而来?
如何阅读这些参数???
查询字符串是空的为好。
TIA! 凯文
解决方案
解决这个对我自己......耶我! :)
开始事碴四周,看到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的,我创建它作为自己的网页。设置请求上下文属性,然后将页面返回给调用者AS一个的IHttpHandler。
测试和它的工作原理。 WOO HOO!
希望这有助于别人的道路。
不隶属于 StackOverflow