0
我有一個可以像一個友好的URL如何檢查是否RouteData.Values是不是在asp.net web表單
例如:
www.abc.com/news/
www.abc.com/news/year/
如果URL與出一年,然後我展示最新的20個新聞,否則我會讓記者從日在微粒年
if (!string.IsNullOrEmpty(HttpContext.Current.Request.RequestContext.RouteData.Values["YEAR"].ToString())) {
_Year = int.Parse(HttpContext.Current.Request.RequestContext.RouteData.Values["YEAR"].ToString());
}
上面的代碼生成以下錯誤
[System.NullReferenceException] = {"Object reference not set to an instance of an object."}
我不知道如何解決這個錯誤。我如何檢查路由值是否爲空,以便我可以相應地執行代碼。
的Global.asax代碼
routes.MapPageRoute("news", "news/", "~/news.aspx", false,
new RouteValueDictionary {
{
"path", "page-not-found"
}, {
"pagename", "page-not-found"
}
});
routes.MapPageRoute("news_YearWise", "news/{YEAR}", "~/news.aspx", false,
new RouteValueDictionary {
{
"YEAR", "0"
}
},
new RouteValueDictionary {
{
"YEAR", "[0-9]{1,8}"
},
});
解決:
if (RouteData.Values["YEAR"] != null)
{ _Year = int.Parse(RouteData.Values["YEAR"].ToString()); }