1

我有一个要构建的 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"  />

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

4

2 回答 2

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("&", ";"))" />
于 2013-04-11T05:38:02.980 回答
0

我会使用 string.Format:

src="@(string.Format("{0};format=gif;w=50;h=50;scale=both;mode=pad;bgcolor=white", sponsor.ImageURL))"
于 2013-04-11T04:59:26.827 回答