带有空格的MVC 4图像,名称不显示

时间:2013-11-22 16:44:40

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 iis razor

我有一个MVC 4网站,其中包含大量带有空格的图像,这些图像无法轻易更改。问题是网站没有显示任何有空格的图像,可能是因为空间被转换为%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服务器上图片的位置。

2 个答案:

答案 0 :(得分:0)

请你试试:

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

Html.Raw()确保您的字符串不会被编码。

答案 1 :(得分:0)

问题是我在Global.asax.cs中替换了Application_BeginRequest中的url,并且没有正确处理%20。我使用以下代码来解决Application_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);
        }
     }