【问题标题】:Routing in Web forms not workingWeb 表单中的路由不起作用
【发布时间】:2018-08-08 05:05:04
【问题描述】:

这是 Global.asax 中的代码

void Application_Start(object sender, EventArgs e)
{
System.Web.Routing.RouteTable.Routes.MapPageRoute("Page1","{Param1}/{Param2}","~/FirstPage.aspx");

System.Web.Routing.RouteTable.Routes.MapPageRoute("Page2","Xyz/{Param3}","~/Second.aspx");   
}

现在我正在尝试重定向到某个页面,例如xyz/test1,xyz/test2,xyz/test3。它总是被重定向到第一页,而不是第二页,这是预期的,我正在尝试做。

如何实现?任何建议。

【问题讨论】:

    标签: asp.net routing global-asax


    【解决方案1】:

    在开始创建路由之前,请确保满足以下重要事项,

    •定义不依赖于物理文件名的自定义 URL 模式。 •使用标记或代码根据路由 URL 参数值生成 URL。 • 在路由页面中,使用标记或代码检索在 URL 段中传递的值。

    尝试下面的代码来实现路由, 1. Application_start方法中只能注册如下路由,

     void Application_Start(object sender, EventArgs e)
     {
         RegisterRoutes(RouteTable.Routes);
     }
    
    1. 在 global.asax 文件中的 Session_End 方法之后创建以下方法, 无效注册路由(RouteCollection 路由) { }

    2. 在RegisterRoutes方法中,添加如下代码,

      routes.MapPageRoute("SalesRoute", "SalesReport/{locale}/{year}", "~/sales.aspx");

    此代码添加了一个名为 SalesRoute 的路由。您正在命名此路由,因为它与您将在下一步中创建的路由具有相同的参数列表。为这两个路由分配名称可以让您在为它们生成 URL 时区分它们。

    更多详情请参考:https://msdn.microsoft.com/en-us/library/dd329551.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-27
      • 2018-10-10
      • 2018-03-21
      • 2014-03-12
      • 2018-01-01
      • 2013-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多