C# RoutedData.Values[“xxx”在asp.net用户控件内生成错误

C# RoutedData.Values[“xxx”在asp.net用户控件内生成错误,c#,asp.net,url-routing,webforms,C#,Asp.net,Url Routing,Webforms,我正在尝试更新基于asp.net webform的网站以使用路由功能,但未能修复userControl.ascx中的一个错误 我可以使用RouteData.Values[“language”].ToString()访问主页中的查询字符串值,但当我需要在用户控件中使用查询字符串值时,同样会失败 我甚至尝试使用HttpContext.Current.Request.RequestContext.RouteData.Values[“language”].ToString() 但是没有运气 下面是我试图

我正在尝试更新基于asp.net webform的网站以使用路由功能,但未能修复userControl.ascx中的一个错误

我可以使用
RouteData.Values[“language”].ToString()
访问主页中的查询字符串值,但当我需要在用户控件中使用查询字符串值时,同样会失败


我甚至尝试使用
HttpContext.Current.Request.RequestContext.RouteData.Values[“language”].ToString()

但是没有运气

下面是我试图捕获查询字符串的代码示例

int LangID = 1;
int ArticleID = 0;
int PageID = 0;
int IssueID = 0;
int CategoryID = 0;
string language = string.Empty;

   if (string.IsNullOrEmpty(Request["PageID"]))
    {

        language = HttpContext.Current.Request.RequestContext.RouteData.Values["language"].ToString();
        LangID = Helper.GetLanguageID(language);
        ArticleID = int.Parse(HttpContext.Current.Request.RequestContext.RouteData.Values["aid"].ToString());
        PageID = int.Parse(HttpContext.Current.Request.RequestContext.RouteData.Values["PageID"].ToString());
        IssueID = int.Parse(HttpContext.Current.Request.RequestContext.RouteData.Values["issue"].ToString());
    }
    else
    {
        language = Request["language"];
        LangID = Helper.GetLanguageID(language);
        ArticleID = int.Parse(Request["aid"]);
        PageID = int.Parse(Request["PageID"]);
        IssueID = int.Parse(Request["issue"]);
    }
我得到了这个声明的以下错误
language=HttpContext.Current.Request.RequestContext.RoutedData.Values[“language”].ToString()

错误消息:

System.NullReferenceException was caught
  Message=Object reference not set to an instance of an object.
  Source=App_Web_odw0cnkk
我将非常感谢您在这方面提供的帮助,以及如何解决此问题。

请按以下方式使用:

HttpContext.Current.Request.RequestContext.RouteData.Values["XXXXXX"]

Thx:

您尝试过这个.Page.RouteData.Values[“language”].ToString()吗?HttpContext.Current.Request.RequestContext.RoutedData.Values[“language”]为null@jbl:-我尝试了
Page.RouteData.Values[“language”].ToString()也不起作用。@SatPal:-你是对的,我现在使用的是
if(string.IsNullOrEmpty(Request[“language”])
,因为语言存在于所有页面中。我错过了最基本的东西。谢谢