路由,RouteData为空

时间:2014-07-03 14:44:34

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

我正在尝试注册2条路线。

/ on / details / {username}

上的一个/一秒

在我的RouteConfig.cs中,我试过:

public static void RegisterRoutes(RouteCollection routes)
{
    var settings = new FriendlyUrlSettings();
    settings.AutoRedirectMode = RedirectMode.Permanent;
    routes.EnableFriendlyUrls(settings);

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
            name: "Details",
            url: "details/{username}",
            defaults: new { action = "Details", username = "" }
        );

    routes.MapRoute(
            name: "Default",
            url: "{controleur}",
            defaults: new { action = "Index"}
        ); 
}

在我的Details.aspx.cs中我有:

public partial class _Details : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var b = RouteData.Values.Keys.Count;
    }
}

但是我无法在RouteData中获取用户名值。

1 个答案:

答案 0 :(得分:0)

这就是你如何映射MVC项目的路线。您似乎正在使用Web窗体。 这是如何映射Web窗体的路由:

routes.MapPageRoute("Details", 
                    "details/{username}", 
                    "Details.aspx", 
                    false, 
                    new RouteValueDictionary {{"action", "Details"}, {"username", ""}});