我正在尝试更新我的基于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.RouteData.Values["language"].ToString();
错误消息:
System.NullReferenceException was caught
Message=Object reference not set to an instance of an object.
Source=App_Web_odw0cnkk
我很感激这方面的帮助或如何解决这个问题
答案 0 :(得分:2)
使用如下:
HttpContext.Current.Request.RequestContext.RouteData.Values["XXXXXX"]