如何在asp.net mvc中显示LINQ数据?

时间:2012-05-28 17:37:55

标签: c# asp.net asp.net-mvc linq razor

我正在使用名为 scrap 的操作

public ActionResult Scrap()
 {
    var webGet = new HtmlWeb();
    var document = webGet.Load(Url);
    var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
                  from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
                  from content in info.SelectNodes("p").Where(y => y.HasAttributes != true)
                  select new
                    {
                      LinkURL = link.Attributes["href"].Value,
                      Text = content.InnerText                             
                    };

 return View();
}

现在我想在视图中显示所有LinkURL和Text。为此,我尝试使用名为 WikiModel 的模型作为

public class WikiModel
{
  public string url { get; set; }
  public string content { get; set; }
}

现在我怎样才能更进一步,以便在我的视图中显示所有信息。我们可以使用wikimodel但是如何在此scrap中添加所有wikimodel操作的数据?我不知道如何操纵select new LINQ来保存模型中的数据。

2 个答案:

答案 0 :(得分:2)

首先,您需要从查询中返回WikiModel个对象的列表:

 var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
                  from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
                  from content in info.SelectNodes("p").Where(y => y.HasAttributes != true)
                  select new WikiModel
                    {
                      url = link.Attributes["href"].Value,
                      content = content.InnerText                             
                    };

您可以将其作为Model

传递给视图
return View(wikians);

在您看来,您现在可以通过Model

访问此列表

答案 1 :(得分:0)

public ActionResult Scrap()
 {
    var webGet = new HtmlWeb();
    var document = webGet.Load(Url);
    var wikians = from info in document.DocumentNode.SelectNodes("//div[@id='results']")
                  from link in info.SelectNodes("p//a").Where(x => x.Attributes.Contains("href"))
                  from content in info.SelectNodes("p").Where(y => y.HasAttributes != true)
                  select new WikiModel

                    {
                      LinkURL = link.Attributes["href"].Value,
                      Text = content.InnerText                             
                    };

 return View(wikians);
}