【问题标题】:Routing issue: ASP.NET 4 or 4.5路由问题:ASP.NET 4 或 4.5
【发布时间】:2012-12-08 01:29:31
【问题描述】:

我遇到了路由问题。我需要创建这种路线:

http://www.site.com/index.html?参数

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.Ignore("{resource}.css/{*pathInfo}");
        routes.Ignore("{folder}/{*pathInfo}", new { folder = "Styles" });
        routes.Ignore("{resource}.js/{*pathInfo}");


        routes.MapPageRoute(
            "Default",
            "{page}.html",
            "~/default.aspx"
        );
    }
}

我已经成功创建了这条路线:
http://www.site.com/index.html/?parameter

如何从 URL 中删除“/”(斜杠)?

【问题讨论】:

    标签: c# asp.net asp.net-mvc routing webforms


    【解决方案1】:

    把html后面的斜线去掉,变成下面这样:

    routes.MapPageRoute(
          "Default",
          "{page}.html{*id}",
          "~/default.aspx"
    );
    

    希望这会有所帮助

    【讨论】:

    • 包含多个部分的路径段,例如文字部分或参数,不能包含包罗万象的参数。
    • 嗯好的改回来。你有多少条路线?这是列表中的第一个吗?
    • public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.Ignore("{resource}.css/{*pathInfo}"); routes.Ignore("{folder}/{*pathInfo}", new { folder = "Styles" }); routes.Ignore("{resource}.js/{*pathInfo}"); routes.MapPageRoute("默认", "{page}.html", "~/default.aspx" ); } }
    • 这个页面上的答案有用吗? stackoverflow.com/questions/5302071/…
    • 不抱歉,我看到了这个
    【解决方案2】:

    将路线定义为:

      routes.MapPageRoute(
              "Default",
              "{page}.html",
              "~/default.aspx"
        );
    

    并在代码中添加QueryString参数。 QueryStrings 将被正常处理。

    【讨论】:

    • 不,它忽略了我的路由并给出 HTTP 错误 404.0 - 未找到
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 2016-07-10
    • 1970-01-01
    相关资源
    最近更新 更多