我在我的多语言项目中实现了 URL 路由,我的链接看起来像这样
1> 使用 URL 路由http://www.example.com/Default.aspx?page=1&Language=en-US 2> 使用 URL 路由http://www.example.com/1/en-US
3> 和第 3 个场景可以是http://www.example.com/Default.aspx或http://www.example.com
我可以检查查询字符串是否为空或 RouteData 值为空
但在 3 种情况下,我必须检测浏览器默认语言并根据它们重定向它们。
如果我把我的代码写成
if (!string.IsNullOrEmpty(Request["Language"]))
{
lang = Request["Language"].ToString();
}
if (!string.IsNullOrEmpty(HttpContext.Current.Request.RequestContext.RouteData.Values["Language"].ToString()))
{
lang = HttpContext.Current.Request.RequestContext.RouteData.Values["Language"].ToString();
}
如果 Route Data 为空,它会生成以下错误Object reference not set to an instance of an object
我怎样才能让这个语句在没有 try catch 块的情况下处理空异常
HttpContext.Current.Request.RequestContext.RouteData.Values["Language"].ToString();