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

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

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

这是我的Global.asax看起来像:(http:// localhost / {username})

routes.MapRoute(
    "UserList","{username}",new { controller = "Home",action = "ListAll" }
);

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

但主要的用户页面不工作,我想的应用程序像Facebook的工作,其中http://www.facebook.com/john.lee被支持。

我使用下面的代码,它没有为我工作:

<httpRuntime relaxedUrlToFileSystemMapping="true" />

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

<modules runAllManagedModulesForAllRequests="false" />

解决方法

向web.config中添加UrlRoutingHandler。这需要你的url有点更具体(f.e。/Users/john.lee)。

这迫使每个以/ Users开头的网址被视为MVC网址:

<system.webServer>    
  <handlers>      
    <add name="UrlRoutingHandler" 
         type="System.Web.Routing.UrlRoutingHandler,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" 
         path="/Users/*" 
         verb="GET"/>      
  </handlers>
</system.webServer>

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。