2014-11-25 57 views
0

我正在使用routemagic库,它工作得很好。除了我创建一个新页面时,它不刷新路线图。asp.net c#创建一个新页面并刷新路由映射

这是我的拯救行动:

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; 
} 

在配置/ Route.cs类我有一个foreach循环是关系蛞蝓的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.

回答

0

好吧,想出来,万一其他人需要它:

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

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