Razor Page,在cs文件中遍历cshtml文件中的<table>
时间: 2024-05-04 11:22:19 浏览: 7
在 Razor Page 中遍历 cshtml 文件中的 `<table>` 标签,可以使用 `HtmlAgilityPack` 包来实现。以下是一个示例代码:
```csharp
using HtmlAgilityPack;
public class IndexModel : PageModel
{
public List<string> TableContents { get; set; }
public void OnGet()
{
// 读取 cshtml 文件的内容
var fileContent = System.IO.File.ReadAllText("./Pages/Index.cshtml");
// 使用 HtmlAgilityPack 解析文件内容
var document = new HtmlDocument();
document.LoadHtml(fileContent);
// 查找所有的 <table> 标签
var tables = document.DocumentNode.Descendants("table");
// 遍历每个 <table> 标签,提取其中的内容
TableContents = new List<string>();
foreach (var table in tables)
{
var tableContent = "";
var rows = table.Descendants("tr");
foreach (var row in rows)
{
var cells = row.Descendants("td");
foreach (var cell in cells)
{
tableContent += cell.InnerText + " ";
}
tableContent += "\n";
}
TableContents.Add(tableContent);
}
}
}
```
以上代码演示了如何在 Razor Page 的 `Index` 页面中读取自己的 cshtml 文件,并遍历其中的 `<table>` 标签,提取表格内容并存储到 `TableContents` 属性中。你可以根据自己的需求对代码进行修改。