我有一个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服务器上图片的位置。
答案 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);
}
}