繁体   English   中英

如何在Web窗体的ASP.NET 3.5中使用路由

[英]How to use Routing in asp.net 3.5 in web form

我已经使用了以下代码,但是我无法访问我的查询字符串……

public class RouteHandler : IRouteHandler
{
    string _virtualPath;
    public RouteHandler(string virtualPath)
    {
        _virtualPath = virtualPath;
    }
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        foreach (var value in requestContext.RouteData.Values)
        {
            //requestContext.HttpContext.Items[value.Key] = value.Value;
           // requestContext.HttpContext.
           //System.Web.HttpContext.Items[value.Key] = value.Value;
        }
        return (Page)BuildManager.CreateInstanceFromVirtualPath(_virtualPath, ypeof(Page));
    }

global.asax .............

private void RegisterRoutes(RouteCollection routes)
{
    routes.Add("home", new Route("home", new RouteHandler("default.aspx")));
    datatable dt = getmyurl();
    if (dt != null && dt.Rows.Count > 0)
    {
        foreach (DataRow dr in dt.Rows)
        {    try
            {
               routes.Add(dr["tag"].ToString() + "/" + dr["Ntag"].ToString(), new Route("{Pid}/{Cid}", new RouteHandler("~/test1/test1.aspx")));
            }
            catch (Exception exx){}
        }
    }
}

现在我无法查询字符串。 我认为我的自定义RouteHandler编码不正确。 我在默认页面上有一个按钮,我可以在其中重定向页面

Response.Redirect(dt.Rows[0]["tag"].ToString() + "/" + dt.Rows[0]["Ntag"].ToString());//    
response.redirect("goa/agra");

请帮我。

以下代码为我工作。

Page.RouteData.Values["ID"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM