Csharp/C#教程:静态图像找不到控制器路径? asp.net mvc路由问题?分享


静态图像找不到控制器路径? asp.net mvc路由问题?

我有一个图像文件夹存储在〜/ Content / Images /

我通过加载这些图像

Csharp/C#教程:静态图像找不到控制器路径?  asp.net mvc路由问题?分享 

最近,图像没有加载,我在错误日志中收到以下错误。 奇怪的是,有些图像加载正常,而其他图像无法加载。

任何人都知道我的路线有什么问题吗? 我错过了/ 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,如下所示……

 Csharp/C#教程:静态图像找不到控制器路径?  asp.net mvc路由问题?分享 

 Csharp/C#教程:静态图像找不到控制器路径?  asp.net mvc路由问题?分享" 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_isapifilter的通配符映射,这意味着所有文件都将与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

(0)
上一篇 2022年12月11日
下一篇 2022年12月11日

精彩推荐