假设我有一个定义如下的路由:
routes.MapPageRoute(""
, "{language}/customerservice.aspx"
, "~/customerservice.aspx"
, false
, new RouteValueDictionary { {"language", "en"} });在/customerservice.aspx中,我像这样填充一个文字:
lit_test.Text = RouteData.Values["language"].ToString();当我导航到/customerservice.aspx时,我希望文字文本是"en“,但我得到了一个空引用异常。在/en/customerservice.aspx中,它的行为与我预期的一样。
有没有办法为磁盘上存在的aspx文件运行路由?
编辑:
配置如下的路由:
routes.RouteExistingFiles = true;
routes.MapPageRoute(""
, "customerservice.aspx"
, "~/customerservice.aspx"
, false
, new RouteValueDictionary { { "language", "en" } });将导致文字填充为"en",但是第一个使用可选语言参数的场景仍然失败,并且RouteExistingFiles标志设置为true。
谢谢!
发布于 2014-04-27 08:53:32
使用RouteExistingFiles属性强制所有请求(即使是存在于磁盘上的文件)通过路由。
routes.RouteExistingFiles = true;搜索RouteExistingFiles可以找到更多像Considerations when turning on RouteExistingFiles这样的信息。
https://stackoverflow.com/questions/23318120
复制相似问题