【发布时间】:2014-04-27 00:43:36
【问题描述】:
假设我有一个这样定义的路线:
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。
谢谢!
【问题讨论】:
标签: c# asp.net webforms asp.net-mvc-routing