【发布时间】:2019-04-01 18:10:24
【问题描述】:
我使用 VS 2017 我有简单的项目结构。
我正在尝试使用老式网络表单为我的Games.aspx 添加简单的路由。根据MSDN,它看起来像这样。只需在App_Code 文件夹中创建新的RouteConfig 类(这是我定义路由的地方)
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("", "games/{page}", "~/Games.aspx");
}
}
并在 Global.asax Start 方法中调用该静态方法。
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
但是当我启动项目时,我得到了 Not found 错误:
当我像Pages/Games.aspx?page=1 一样直接调用它时,我的Games.aspx 可以工作,但我不想在我的网址中使用这些东西。我试图调试 Start 方法,但它似乎是由 IIS 或其他什么编译的。那么,我哪里错了?
【问题讨论】:
-
@NabeelKhan,对于这么简单的任务来说,这有点太复杂了。
-
routes.MapPageRoute("", "games/{page}", "~/Games.aspx");您是否可能错过了这里的页面,例如 routes.MapPageRoute("", "games/{page}", "~/Pages/Games.aspx");
-
@SehaxX,不。事实并非如此。我什至尝试了整个路径。那没有用。
标签: c# asp.net .net webforms routing