Url.Content和读取〜来自xml文件的URL

时间:2012-10-27 13:46:19

标签: c# xml asp.net-mvc asp.net-mvc-3

我正在使用带有.aspx视图引擎的ASP.NET MVC 3。 我有Maps.xml文件:

    <imgurl>
        ../../Content/Img/BrandsLogo/samsung_logo.png
    </imgurl>
</map>

...

在MapView.aspx中我有:

<%: Url.Content( Model.ImgUrl ) %> 

效果很好,图像会按原样显示。

问题是: 我想在xml文件中使用波浪号:

    <imgurl>
        ~/Content/Img/BrandsLogo/samsung_logo.png
    </imgurl>

但是图像的URL被破坏了;不知何故,它在其中添加了Mobile / MapView。这是哪个文件夹和.aspx文件?

/Mobile/MapView/~/Content/Img/BrandsLogo/samsung_logo.png

当我在xml文件中使用../../时,URl是正确的: 的 /Content/Img/BrandsLogo/samsung_logo.png

我尝试过解决方案: Using Url.Content with semi-relative URL

然后我得到一些额外的空格: 的 /Content/Img/BrandsLogo%20%20%20%20%20%20%20%20%20%20%20%20/samsung_logo.png

如何从xml文件中读取波形符号(~/Content/Img/BrandsLogo/samsung_logo.png)并使用Url.Content方法?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Trim()方法稍微修改您使用您提供网址的解决方案:

<img src="@Url.Content("~/Content/Img/BrandsLogo" + Model.ImageUrl.Trim())" />