在ASP.NET Core中,RedirectToPage方法用于将请求重定向到指定的页面。它可以带有一个匿名类型参数,其中包含要传递给目标页面的数据。
使用匿名类型的目的是将数据传递给目标页面,以便在目标页面中使用这些数据。这样可以在重定向之后保留数据并在目标页面中进行处理。
以下是一个使用匿名类型的代码示例:
public IActionResult OnPost()
{
// 接收表单数据
var name = Request.Form["name"];
var age = Request.Form["age"];
// 构造匿名类型对象
var data = new { Name = name, Age = age };
// 重定向到目标页面,并将数据传递给目标页面
return RedirectToPage("/TargetPage", data);
}
在上面的示例中,首先从请求中获取表单数据,并使用这些数据构造一个匿名类型对象。然后,使用RedirectToPage方法将请求重定向到名为"TargetPage"的页面,并将匿名类型对象作为参数传递。这样,目标页面就可以接收并处理这些数据。
在目标页面中,可以通过使用PageModel属性来访问传递的数据。例如,在目标页面的OnGet方法中,可以像这样访问数据:
public void OnGet(string name, int age)
{
// 使用传递的数据进行处理
// ...
}
通过使用匿名类型和RedirectToPage方法,可以方便地将数据传递给重定向的目标页面,并在目标页面中使用这些数据进行处理。