如何在asp.net MVC4剃须刀中嵌入分号

时间:2013-04-11 00:26:24

标签: razor asp.net-mvc-4

我有一个我想要构建的URL,如下所示:

   http://cache.mysite.com/sponsorimage/718.jpg;format=gif;w=50;h=50;scale=both;mode=pad;bgcolor=white

创造它的剃刀是这样的:

   @(sponsor.ImageURL)
   <img src="@(sponsor.ImageURL)&#59;format=gif&#59;w=50&#59;h=50&#59;scale=both&#59;mode=pad&#59;bgcolor=white" alt="@sponsor.SponsorName"  />

这只是感觉很难看。我是剃须刀的新手。什么是更好的方法来做到这一点。也就是说,在字符串中嵌入分号(我没有使用?和&amp;故意)

2 个答案:

答案 0 :(得分:0)

我会使用string.Format:

src="@(string.Format("{0};format=gif;w=50;h=50;scale=both;mode=pad;bgcolor=white", sponsor.ImageURL))"

答案 1 :(得分:0)

非常详细,但更通用。

@{
    UriBuilder ub = new UriBuilder();
    NameValueCollection queries = HttpUtility.ParseQueryString(ub.Query)
    queries.Add("format", "gif")
    queries.Add("w", "59")
    queries.Add("h", "50")
    queries.Add("scale", "both")
    queries.Add("mode", "pad")
    queries.Add("bgcolor", "white")
    ub.Query = queries.ToString()
}

<img src="@HttpUtility.UrlEncode(sponsor.ImageURL & ub.Query.Replace("?", ";").Replace("&", ";"))" />