Asp.net mvc 名称中带有空格的MVC 4图像不显示

Asp.net mvc 名称中带有空格的MVC 4图像不显示,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,iis,razor,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Iis,Razor,我有一个MVC4站点,它有很多图片,图片中有空间,不容易更改。问题是该站点没有显示任何具有空间的图像,可能是因为空间正在转换为%20。我已尝试在web.config文件中设置httpruntime的invalidCharacters属性以排除%而没有成功。是否有人知道解决此问题的好方法,或者是什么原因导致了此问题?我在其他MVC网站工作过,以前从未遇到过这个问题。提前谢谢 我的图像标记/路径如下所示: <img src="@Model.Picture.Location?width=230&

我有一个MVC4站点,它有很多图片,图片中有空间,不容易更改。问题是该站点没有显示任何具有空间的图像,可能是因为空间正在转换为%20。我已尝试在web.config文件中设置httpruntime的invalidCharacters属性以排除%而没有成功。是否有人知道解决此问题的好方法,或者是什么原因导致了此问题?我在其他MVC网站工作过,以前从未遇到过这个问题。提前谢谢

我的图像标记/路径如下所示:

<img src="@Model.Picture.Location?width=230&height=285&bgcolor=222425" alt="@Html.DisplayFor(model => model.GameName)"/>
其中Model.Picture.Location是图片在web服务器上的位置。

请尝试:

 <img src="@(Html.Raw(Model.Picture.Location))?width=230&height=285&bgcolor=222425" alt="@Html.DisplayFor(model => model.GameName)"/>

Html.Raw确保您的字符串未被编码。

问题是我在Global.asax.cs中替换应用程序中的url\u BeginRequest,并且没有正确处理%20。我使用以下代码来解决我的应用程序_BeginRequest方法的问题

     protected void Application_BeginRequest(object sender, EventArgs e)
     {
        string path = HttpContext.Current.Request.Url.PathAndQuery;
        path = HttpUtility.UrlDecode(path);
        if (!String.IsNullOrEmpty(path))
        {
           HttpContext.Current.RewritePath(path);
        }
     }

我们能看到生成的属性吗?你是如何提供图像源路径的..我编辑了这篇文章,展示了一个示例,说明了我是如何输入src属性和如何做标记的。不幸的是,它仍然给出了404。描述:HTTP404。您正在查找的资源或其依赖项可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确。请求的URL:/BoxArt/GTA%20V.jpg