asp.net C# 创建新页并刷新路由映射

本文关键字:刷新 路由 映射 新页 net 创建 asp | 更新日期: 2023-09-27 18:31:45

我正在使用routemagic库,它工作得很好。 除非我创建新页面时,它不会刷新路线图。

这是我的保存操作:

 protected void lbSave_Click(object sender, EventArgs e)
 {
    //save data to database;
    //recompile the route.cs
    var assembly = BuildManager.GetCompiledAssembly("~/Config/Routes.cs");
    var registrar = assembly.CreateInstance("Routes") as IRouteRegistrar;
 }

在配置/路由类中.cs我有一个 foreach 循环,它将 slug 连接到 ID:

routes.MapPageRoute(events.Slug, events.Slug, "~/index.aspx?id=" + events.ID, true, new System.Web.Routing.RouteValueDictionary { { "id", events.ID } });

但我仍然为所有新页面获得 404 页面,除非我刷新 IIS。我需要做的是每次创建新"事件"时添加新的MapPageRoute以避免404。

asp.net C# 创建新页并刷新路由映射

好的,如果其他人需要它:

RouteTable.Routes.Add(EventInfo.Slug, new Route(EventInfo.Slug, new System.Web.Routing.RouteValueDictionary{{ "id", EventInfo.ID }}, new PageRouteHandler("~/index.aspx?id=" + EventInfo.ID)));

这就是保存新事件后我需要调用的内容。