C#Linq to XML - 评论带有图片的Dropdownlist评级的网站

时间:2014-03-25 14:33:54

标签: c# drop-down-menu linq-to-xml rating

所以,我正在研究这个小项目。事情在Norwegain,所以生病了,试着解释一下。

我正在建立一个可以阅读和添加电影评论的网站。我有一个名为“电影评论”的aspx网站,其中显示了标题,评论和评级(下拉列表中的0-5),以及另一个名为“添加新电影评论”的aspx网站#39;我可以使用moviereviews.xml文件进行CRUD标题​​,评论和评级(下拉列表)。

电影=电影

评论= anmeldelse

Title = tittel

<movies>
  <movie>
    <id>1</id>
    <title>Iron Man</title>
    <review>Bla bla bla...</review>
    <rating>2</rating>
  </movie>
</movies>

添加新电影评论背后的工作代码片段&#39;网站:

 protected void lagreBtn_Click(object sender, EventArgs e)
    {
        String filePath = Server.MapPath("/xml/filmanmeldelser.xml");

    XElement anmeldelserXML = XElement.Load(filePath);

    anmeldelserXML.Add(
        new XElement("film",
            new XElement("id",hentNyUnikId()),
            new XElement("tittel", tittelTxt.Text),
            new XElement("anmeldelse", anmeldelseTxt.Text),
            new XElement("rating", rangeringDropDownList.SelectedValue)
            )

        );
    anmeldelserXML.Save(filePath);

以及“电影评论”中的另一段代码。网站:

protected string hentFilePath(string filnavn)
    {
        String filePath = Server.MapPath("../xml/" + filnavn);//OR ("/xml/" + filnavn)

        return Server.MapPath("../xml/" + filnavn);//OR ("/xml/" + filnavn)
    }

protected void visFilmanmeldelseListe()
{
    String filePath = Server.MapPath("/xml/filmanmeldelser.xml");

    XElement anmeldelserXML = XElement.Load(filePath);

    var filmeanmeldelseListe = from filmer in anmeldelserXML.Descendants("film")
                                  select filmer;

        if(filmeanmeldelseListe.Count() > 0)
        {
            StringBuilder filmanmeldelseListeSB = new StringBuilder();

            foreach (var film in filmeanmeldelseListe)
            {
                filmanmeldelseListeSB.AppendFormat(
                    "<article><h1>{0}</h1><p>Anmeldelse: {1}</p><p>Rangering: {2}</p></article>",
                        (string)film.Element("tittel"),
                        (string)film.Element("anmeldelse"),
                        (string)film.Element("rating")
                    );
            }
            filmanmeldelseListeLiteral.Text = filmanmeldelseListeSB.ToString();
        }

现在,这很有效......

但是,(哇!出现了一个疯狂的问题!)。而不是数字,从下拉列表中显示评分为5的钢铁侠,我宁愿显示一个星形图像,与所选的下拉列表值相比X倍,就像一个&#34;正常&#34;对电影评分时的评级控制。我将此图像放在一个名为“图片”的文件中。在网站项目内。

示例:评分为5,将显示5颗星。得分为2,显示2星。

我已经尝试了几天了,我似乎无法理解它... 有没有人有任何好的提示,技巧或解决方案让我不解决这个问题?:)

任何帮助都绝对棒极了!

0 个答案:

没有答案