在Razor Pages中,OnPost之后,如何将类Table的实例保存到下个界面
时间: 2024-04-30 12:21:13 浏览: 19
在Razor Pages中,可以使用TempData来保存类Table的实例,并在下一个页面中获取它。TempData是一个字典对象,可以用于在当前请求和下一个请求之间传递数据。
在OnPost方法中,您可以使用TempData来保存表的实例,如下所示:
```csharp
public IActionResult OnPost(Table table)
{
// 保存表的实例到TempData中
TempData["table"] = table;
return RedirectToPage("NextPage");
}
```
在下一个页面中,您可以使用TempData来获取保存的表的实例,如下所示:
```csharp
public IActionResult OnGet()
{
// 获取保存的表的实例
Table table = TempData["table"] as Table;
if (table != null)
{
// 使用表的实例进行处理
}
return Page();
}
```
请注意,使用TempData保存的数据只能在下一个请求中使用,如果您需要在多个请求之间共享数据,可以考虑使用Session或其他持久化存储方式。
相关问题
ASP.Net Core 6.0 Web App with Razor Page,查找MongoDB中的数据后,保存在List中,并传递到下一个页面
好的,对于你的问题,我可以提供以下解决方案:
首先,你需要在ASP.Net Core 6.0 Web App中添加MongoDB的驱动程序。你可以在NuGet包管理器中搜索“MongoDB.Driver”并安装。
然后,在你的Razor Page中,你需要编写代码来查询MongoDB中的数据并将其保存在List中。假设你要查询名为“myCollection”的集合,你可以使用以下代码:
```
var client = new MongoClient("mongodb://localhost:27017"); // 连接MongoDB
var database = client.GetDatabase("myDatabase"); // 获取数据库
var collection = database.GetCollection<MyModel>("myCollection"); // 获取集合
var filter = Builders<MyModel>.Filter.Empty; // 创建一个空的查询过滤器
var result = await collection.Find(filter).ToListAsync(); // 查询数据,并将结果保存在List中
```
在这个例子中,我们使用`MyModel`作为数据模型,你需要根据实际情况替换它。
接下来,你需要在你的Razor Page中将List传递到下一个页面。你可以使用`TempData`来完成这个任务。例如,你可以在页面的`OnPost`方法中添加以下代码:
```
TempData["myList"] = result;
```
在下一个页面,你可以使用以下代码来获取List:
```
var myList = TempData.Get<List<MyModel>>("myList");
```
同样,你需要根据实际情况替换`MyModel`。
希望这个解决方案能够帮助到你!
Razor Page,在cs文件中遍历cshtml文件中的<table>
在 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` 属性中。你可以根据自己的需求对代码进行修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)