相关疑难解决方法(0)

ASP.NET MVC Url Route支持(点)

我希望你能帮我解决下面的问题.

我在IIS7上使用ASP.NET MVC 3,并希望我的应用程序支持带点的用户名.

示例:http://localhost/john.lee

这就是我的Global.asax的样子:(http:// localhost / {username})

routes.MapRoute(
    "UserList",
    "{username}",
    new { controller = "Home", action = "ListAll" }
);
Run Code Online (Sandbox Code Playgroud)

当我访问其他页面时,应用程序工作,例如http://localhost/john.lee/details等.

但主用户页面不起作用,我希望该应用程序像支持http://www.facebook.com/john.lee的 Facebook一样工作.

我使用下面的代码,它根本不适合我:

<httpRuntime relaxedUrlToFileSystemMapping="true" />
Run Code Online (Sandbox Code Playgroud)

我能够使用下面的代码并让应用程序接受点,但我绝对不希望使用下面的代码有很多不同的原因,请告诉我有一种方法来克服这个问题.

<modules runAllManagedModulesForAllRequests="false" />
Run Code Online (Sandbox Code Playgroud)

asp.net iis-7 url-routing global-asax asp.net-mvc-3

36
推荐指数
2
解决办法
2万
查看次数

ASP.NET MVC路由从html页面开始

我正在使用IIS 6.我认为我的问题是我不知道如何使用routes.MapRoute路由到非控制器.

我有一个url,例如example.com,我希望它提供index.htm页面而不使用MVC.我该如何设置?在IIS中,我有index.htm作为我的开始文档,我的global.asax有标准的"默认"路由,它调用Home/Index.

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );

    }
Run Code Online (Sandbox Code Playgroud)

我补充说:

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        if (Context.Request.FilePath == "/") Context.RewritePath("index.htm");
    }
Run Code Online (Sandbox Code Playgroud)

有用.但这是最好的解决方案吗?

asp.net-mvc

14
推荐指数
3
解决办法
2万
查看次数