Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用注册路由更新asp.net web表单中的路由_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 使用注册路由更新asp.net web表单中的路由

C# 使用注册路由更新asp.net web表单中的路由,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我在一个asp.net web表单应用程序中工作。我在it中使用RegisterRouts实现了URL路由,如下所示: void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RegisterRoutes(RouteTable.Routes); } void RegisterRoutes(R

我在一个asp.net web表单应用程序中工作。我在it中使用RegisterRouts实现了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位于应用程序启动功能中,所以不会发生

如果我尝试调用registerOutes(RouteTable.Routes);单击“保存”按钮时,我发现错误,路由已注册


请给我一个解决方案。

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

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

当我再次注册路由时,它不会给出错误,但是链接路由没有被更新。新url不显示pahe where as old url(用于应用程序启动的注册路由)showsSo如果我理解,您有一个显示一组链接的页面,这些链接的url来自路由表。更新路由表后,应用程序是否呈现链接?如果您能更详细地描述您的应用程序和/或提供一个代码示例,说明链接是如何定义和呈现的,可能会有所帮助Yes@Paul,我有一个表,我在其中保存了空位/城市1、空位/城市2等路线。链接和注册表项都使用此表来获取/设置路由url。app_start中使用的已注册路由设置URL,但当我编辑该表值时,清除路由并再次注册它们,它们在db中得到更新,链接指向新值,但routes集合具有旧路由值。