0

次のコードを使用しましたが、クエリ文字列にアクセスできません......

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));
    }

グローバル.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");

私を助けてください。

4

1 に答える 1

-1

次のコードは私のために働いた..

Page.RouteData.Values["ID"]
于 2013-09-21T13:02:34.363 に答える