当url: "{controller}/{action}.aspx"时,在MVC 4中HTTP 40
本文关键字:quot MVC HTTP url controller aspx action | 更新日期: 2023-09-27 18:06:57
我试图显示一个完整的URL与MVC 4 web应用程序,如:localhost:8888/index。aspx,我想在浏览器中显示完整的URL。我在这里和这个答案中发现了类似的问题:https://stackoverflow.com/a/8557085他们说可以看到文件扩展名。
但是当我像这样改变路由对象时:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}.aspx",
defaults: new { controller = "PaymentPortal", action = "PaymentPortal", id = UrlParameter.Optional }
);
或
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}.aspx",
defaults: new { controller = "PaymentPortal", action = "PaymentPortal", id = UrlParameter.Optional }
);
错误HTTP 403.14 - Forbidden我尝试下一个修复,在类RegisterRoutes我添加下一行:路由。
web。配置我添加,删除和更改一些东西,如:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%'Microsoft.NET'Framework'v4.0.30319'aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%'Microsoft.NET'Framework64'v4.0.30319'aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<modules runAllManagedModulesForAllRequests="true"/>
我玩ExtensionlessUrlHandler添加,删除和更改标签和值,但没有。我添加了模块runAllManagedModulesForAllRequests="true"但也没有。
我正在使用Windows 8中的VS2012, MVC 4与ASPX引擎。任何帮助将是感激的,非常感谢你!
p。d。如果我的英语说错了,我向你道歉。
我刚刚创建了一个新的MVC 4应用程序,并创建了路由:
routes.MapRoute(
name: "Test",
url: "{controller}/{action}.aspx",
defaults: new {controller = "Home", action = "Index"}
);
routes.MapRoute(
name: "TestId",
url: "{controller}/{action}/{id}.aspx",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
和这些url工作
http://localhost:62312/Home/index/123test.aspx
http://localhost:62312/Home/index.aspx
请记住,创建路由的顺序也很重要。