以下是一个使用Razor Pages的示例,展示如何保留和检索模型数据的方法。
首先,我们假设有一个模型类叫做Item
,它具有一个字符串属性Name
:
public class Item
{
public string Name { get; set; }
}
接下来,我们创建一个Razor Page叫做Index.cshtml.cs
,它有一个Items
列表属性用于保存Item
对象:
public class IndexModel : PageModel
{
public List- Items { get; set; }
public void OnGet()
{
// 初始化Items列表并添加一些示例数据
Items = new List
-
{
new Item { Name = "Item 1" },
new Item { Name = "Item 2" },
new Item { Name = "Item 3" }
};
}
}
在Index.cshtml
中,我们可以使用Items
属性来显示模型数据:
@page
@model IndexModel
Items:
@foreach (var item in Model.Items)
{
- @item.Name
}
这样,当用户访问该页面时,OnGet
方法会被调用,初始化Items
列表并将其传递给Index.cshtml
来显示。
如果您希望在提交表单或其他操作后保留模型数据,您可以使用TempData
来存储和检索数据。例如,如果要在提交表单后保留Items
列表,您可以在OnPost
方法中存储它,然后在OnGet
方法中检索它:
public class IndexModel : PageModel
{
public List- Items { get; set; }
public void OnGet()
{
Items = TempData.Get
>("Items");
}
public IActionResult OnPost()
{
// 处理表单提交逻辑
// 存储Items列表
TempData.Set("Items", Items);
return RedirectToPage("Index");
}
}
这样,在OnGet
方法中,我们可以从TempData
中检索先前存储的Items
列表,并将其传递给Index.cshtml
来显示。
希望以上示例能帮助到您使用Razor Pages保留和检索模型数据。