【问题标题】:MapPageRoute is throwing error in Global.asaxMapPageRoute 在 Global.asax 中引发错误
【发布时间】:2020-01-19 17:18:04
【问题描述】:

我正在尝试重新编写 SEO 友好模式的 URL。最好的方法是删除文件扩展名。我访问了一些建议使用 Global.asax 文件的教程。

我正在使用 .net 框架 3.5,但出现以下错误:

错误 CS1061“RouteCollection”不包含“MapPageRoute”的定义,并且找不到接受“RouteCollection”类型的第一个参数的可访问扩展方法“MapPageRoute”(您是否缺少 using 指令或程序集引用?)

我正在使用 global.asax 文件中的以下代码进行路由。

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>
<script runat="server">
    void Application_Start(object sender, EventArgs e)
    {
        RegisterRoutes(RouteTable.Routes);
    }

    static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute("Customers", "Customers", "~/Customers.aspx");
        routes.MapPageRoute("CustomerDetails", "Customers/{CustomerId}", "~/CustomerDetails.aspx");

    }
</script>

请帮助解决这个问题。

我已经检查了 system.web.routing 的参考。没错。

【问题讨论】:

    标签: c# url-rewriting url-routing global-asax


    【解决方案1】:

    欢迎来到 StackOverflow!

    虽然.MapPageRoute() 存在于System.Web.Routing 命名空间中,但这仅适用于.NET 版本4.0 及更高版本。如果您查看Microsoft documentation,您会在页面底部看到一个名为“适用于”的标题。

    此部分应出现在所有页面上,因此每当您遇到 Error CS1061 时,都值得检查文档以查看它是否存在于您所针对的 .NET 版本。

    要解决此问题,最简单的做法是将您的项目从 .NET 3.5 升级到 4.0,或者(如果这不适合您的情况)找到另一种方法来重写您的 URL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 2016-02-08
      • 2013-02-16
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多