我正在尝试更新我的基于 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
我将不胜感激有关或如何解决此问题的帮助