如何在 asp.net MVC 中在视图中显示 LINQ 数据

本文关键字:视图 显示 LINQ 数据 MVC asp net | 更新日期: 2023-09-27 18:35:30

我正在使用一个名为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();
}

现在我想在视图中显示所有链接URL和文本。为此,我尝试使用一个名为WikiModel的模型作为

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

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

如何在 asp.net MVC 中在视图中显示 LINQ 数据

首先,您需要从查询中返回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 访问此列表。

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);
}