0

我在一个 asp.net 网络表单应用程序中工作。我已经使用 RegisterRoutes 在其中实现了 URL 路由,如下所示:

  void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
        RegisterRoutes(RouteTable.Routes);       
    } 


  void RegisterRoutes(RouteCollection routes)
        {
           int language = 2;
            routes.MapPageRoute("City1Route", "vacancies/" + HRTabs.GetCityTabLink(1, language), "~/City1.aspx");
            routes.MapPageRoute("City2Route", "vacancies/" + HRTabs.GetCityTabLink(2, language), "~/City2.aspx");
            routes.MapPageRoute("City3Route", "vacancies/" + HRTabs.GetCityTabLink(3, language), "~/City3.aspx");
            routes.MapPageRoute("City4Route", "vacancies/" + HRTabs.GetCityTabLink(4, language), "~/City4.aspx");
            routes.MapPageRoute("default", "vacancies/{language}", "~/City1.aspx");
        }

我正在使用数据库中的值创建映射。

在这个应用程序中。我正在更新表格(路线)。我希望在保存功能完成后立即自动描述这些更改,但由于 Registerroutes 在应用程序启动功能中,它不会发生。

如果我尝试调用 RegisterRoutes(RouteTable.Routes); 单击“保存”按钮时,出现路线已注册的错误。

请建议我解决它。

4

1 回答 1

0

在注册更新的路由之前尝试清除路由表。例如:

void RegisterRoutes(RouteCollection routes)
    {
        int language = 2;
        routes.Clear();
        routes.MapPageRoute("City1Route", "vacancies/" + HRTabs.GetCityTabLink(1, language), "~/City1.aspx");
        routes.MapPageRoute("City2Route", "vacancies/" + HRTabs.GetCityTabLink(2, language), "~/City2.aspx");
        routes.MapPageRoute("City3Route", "vacancies/" + HRTabs.GetCityTabLink(3, language), "~/City3.aspx");
        routes.MapPageRoute("City4Route", "vacancies/" + HRTabs.GetCityTabLink(4, language), "~/City4.aspx");
        routes.MapPageRoute("default", "vacancies/{language}", "~/City1.aspx");
    }    
于 2013-11-03T17:23:27.107 回答