【发布时间】:2014-03-24 18:19:06
【问题描述】:
我正在创建一个人们可以对电影进行评论的网站,当他们进行评论时,他们需要对电影进行评分,从 1 到 5。
但是当它打印在另一页上时,我想打印出数字 3 的星星。
现在我得到了这个代码:
StringBuilder movielistSB = new StringBuilder();
foreach (var moviereview in movielistSB)
{
filmanmeldelserlisteSB.AppendFormat(
"<div id='moviereview'><artitcle><h3>{0}</h3>" +
"<table><tr><td>ID:</td><td>{1}</td></tr>" +
"<tr><td>Anmeldelse:</td><td>{2}</td></tr>" +
"<tr><td>Rating:</td><td>{3}</td></tr></table></article></div>",
(string)moviereview.Element("title"),
(string)moviereview.Element("id"),
(string)moviereview.Element("review"),
(string)moviereview.Element("rating")
);
对于 (string)moviereview.Element("rating"),当用户给电影评分为 3 时,我想打印出例如 3 颗星。
我试图运行一个 for 循环,但我不知道如何让它工作。我已经尝试在谷歌上寻求解决方案,但无论如何我无法让它发挥作用。
有什么想法吗?
编辑: 现在我得到了这个:
String star = @"<img src=""../images/star.png""/>";
if (moviereviewlist.Count() > 0)
{
StringBuilder moviereviewlistSB = new StringBuilder();
foreach (var moviereview in moviereviewlist)
{
filmanmeldelserlisteSB.AppendFormat(
"<div id='moviereview'><artitcle><h3>{0}</h3>" +
"<table><tr><td>ID:</td><td>{1}</td></tr>" +
"<tr><td>Review:</td><td>{2}</td></tr>" +
"<tr><td>Rating:</td><td>{3}</td></tr></table></article></div>",
(string)moviereview.Element("tittel"),
(string)moviereview.Element("id"),
(string)moviereview.Element("anmeldelse"),
star.RepeatString((int)moviereview.Element("rating"))
);
还有这个
public static class StringExtensions
{
public static string RepeatString(this string input, int count)
{
if (!string.IsNullOrEmpty(input))
{
return string.Empty;
}
StringBuilder builder = new StringBuilder(input.Length * count);
for(int i = 0; i < count; ++i)
{
builder.Append(input);
}
return builder.ToString();
}
}
我不得不将 `(int)filmanmeldelse.Element("rating")' 解析为一个 int。但不知何故,我无法在网站上获得图像。它只是空白,我尝试了不同的方法,但它不会为网站带来价值。
【问题讨论】:
标签: c# rating-system