C# 当url为“时,MVC4中出现错误HTTP 403.14”;{controller}/{action}.aspx";

C# 当url为“时,MVC4中出现错误HTTP 403.14”;{controller}/{action}.aspx";,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我试图用MVC4 web应用程序显示完整的URL,比如:localhost:8888/index.aspx,我想在浏览器中显示完整的URL。我在这里和这个答案中发现了类似的问题:他们说可以看到文件扩展名 但当我像这样改变路线时: routes.MapRoute( name: "Default", url: "{controller}/{action}.aspx", defaults: new { controller = "PaymentPortal", actio

我试图用MVC4 web应用程序显示完整的URL,比如:localhost:8888/index.aspx,我想在浏览器中显示完整的URL。我在这里和这个答案中发现了类似的问题:他们说可以看到文件扩展名

但当我像这样改变路线时:

routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}.aspx",
     defaults: new { controller = "PaymentPortal", action = "PaymentPortal", id = UrlParameter.Optional }
);

我得到下一个错误:错误HTTP 403.14-禁止

我尝试下一个修复,在类RegisterRoutes中添加下一行:routes.RouteExistingFiles=true

在web.config中,我添加、删除和更改了以下内容:

<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,使用ASPX引擎的MVC4。任何帮助都将不胜感激,非常感谢


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

请记住,创建路由的顺序也很重要。

您是否尝试过此url
http://localhost:62312/Home/Index/10.aspx
?谢谢@matt_Lathargic,问题来了,因为我试图修改默认路线,而不是添加其他路线,现在正在工作。现在,我必须看看如何修复视图页面中脚本的路径,因为如果我转到而不是在脚本正确加载时,我会遇到404错误。哇,问题是我必须添加其他路线。感谢您这么快的响应。请在src属性中使用@Url.Content(“~/scripts/somescript.js”),或者将整个路径放入
http://localhost:62312/Home/index/123test.aspx
http://localhost:62312/Home/index.aspx