ASP.NET MVC仅缺少一个控制器的默认操作

本文关键字:一个 控制器 操作 默认 MVC NET ASP | 更新日期: 2023-09-27 18:29:26

我不知道我的网站发生了什么。从今天起,只有一个控制器中的默认操作"索引"不再工作。如果我打电话http://website.com/Valuation我收到403错误页面,因为Web服务器没有路由我的请求并尝试浏览文件夹。如果我写http://website.com/Valuation/Index一切正常。我搜索了所有的代码,但找不到问题,一切似乎都像其他控制器一样好。

我怎样才能找到问题?您知道是否存在导致该问题的已知问题,或者您知道是否有路由请求的跟踪''日志''调试器吗?

感谢

麦克风

ASP.NET MVC仅缺少一个控制器的默认操作

问题很可能是您的网站根目录中有一个名为估价的文件夹。这就是估值指数行动不起作用的原因。url不是路由到控制器操作http://website.com/Valuation正在路由到文件夹估价

从您的根目录中删除此文件夹估价或将其重命名为此urlhttp://website.com/Valuation将起作用。

还要检查ValuationController是否具有公共ActionResult Index()([HttpGet]方法.

检查~''App_Start''RouteConfig.cs文件

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional}
            );
        }
    }