静态图像找不到控制器路径? asp.net mvc路由问题?
我有一个图像文件夹存储在〜/ Content / Images /
我通过加载这些图像
最近,图像没有加载,我在错误日志中收到以下错误。 奇怪的是,有些图像加载正常,而其他图像无法加载。
任何人都知道我的路线有什么问题吗? 我错过了/ Content /文件夹的忽略路由吗?
我也为favicon.ico和一堆其他图像文件得到了同样的错误……
-- 3/25/2010 2:32:38 AM -- System.Web.HttpException: The controller for path '/Content/Images/box_bottom.png' could not be found or it does not implement IController. at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(Type controllerType) at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) at System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
我目前的路线如下:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); routes.MapRoute( "ControllerDefault", // Route name "{controller}/project/{projectid}/{action}/{searchid}", // URL with parameters new { controller = "Listen", action = "Index", searchid = "" } // Parameter defaults );
谢谢!
我会在第一个下面插入另一个被忽略的路由。
routes.IgnoreRoute("Content/Images/{*pathInfo}");
如果您查看解决方案资源管理器视图,我猜测您的内容文件夹位于项目的根目录中,同时还有控制器和视图的文件夹。 尝试修改你的图像src,如下所示……
" alt="does this work?" />
您需要向底部声明不太具体的路线:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "ControllerDefault", "{controller}/project/{projectid}/{action}/{searchid}", new { controller = "Listen", action = "Index", searchid = "" } ); routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" } );
但我认为这不是问题所在。 从例外情况看,执行此应用程序的Web服务器似乎具有aspnet_isapi
filter的通配符映射,这意味着所有文件都将与ASP.NET运行时甚至静态文件相关联。
你没有routes.RouteExistingFiles = true;
你身处某个地方?
... could not be found or it does not implement IController
例外... could not be found or it does not implement IController
不必出错。 实际上/favicon.ico
没有解析为控制器所以这意味着下一个模块(或它是处理程序?)应该尝试处理请求。 所以在某种程度上它是一个“预期的例外”。
问题是记录此exception并阻塞日志。 使用log4net时,将以下
元素添加到默认的appender应该保留它:
上述就是C#学习教程:静态图像找不到控制器路径? asp.net mvc路由问题?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1298130.html