首页 > 解决方案 > 如何将 ViewData 从类传递给 Action 方法?

问题描述

我想换

public IActionResult Index()
{
ViewData["SomeData"] = ...
return View();
}

public IActionResult Index()
{
 _someDataCretor.Create(...);
return View();
}

SomeDataCretor.Create() 应该发生什么才能使其正常工作?供 View 获取 ViewData。

谢谢。

标签: c#.netasp.net-core

解决方案


ViewData定义为public ViewDataDictionary ViewData { get; set; }。因此,您可以将其作为参数传递给您的方法:

public IActionResult Index()
{
    _someDataCretor.Create(ViewData);
    return View();
}

Create(ViewDataDictionary viewdata)方法中:

viewdata["SomeData"] = ...;

但我认为更合理的方法是从方法中返回一个对象,该对象将作为视图模型Create()传递给视图。Index


推荐阅读