在ASP.NET Core中,可以使用Filters内的ViewData属性来传递数据到视图,而不是使用ViewBag。下面是一个使用Filters内的ViewData传递数据到视图的示例代码:
首先,创建一个自定义的Filter,例如MyFilter
:
using Microsoft.AspNetCore.Mvc.Filters;
public class MyFilter : IResultFilter
{
public void OnResultExecuting(ResultExecutingContext context)
{
context.HttpContext.Items["MyData"] = "Hello from MyFilter";
}
public void OnResultExecuted(ResultExecutedContext context)
{
// 这里可以进行其他操作
}
}
然后,在Controller的Action中使用该Filter:
[MyFilter]
public IActionResult MyAction()
{
return View();
}
最后,在视图中使用ViewData来获取Filter中传递的数据:
@ViewData["MyData"]
这样,在视图中就可以获取到Filter中传递的数据了。