在 ASP.NET Core MVC 中,局部视图中的数据不会自动保存到控制器中。为了保存局部视图数据,可以将其作为参数传递给控制器动作。
例如,在以下代码中,我们使用 ViewData
来存储局部视图数据,并将其作为参数传递给控制器中的动作:
//在局部视图中设置 ViewData
@{
ViewData["myData"] = "This is my data";
}
//在控制器动作中获取 ViewData
public IActionResult MyAction(string myData)
{
//使用传递的 myData 值
//...
}
在上面的示例中,我们在局部视图中设置 ViewData
,并将其作为 myData
参数传递给 MyAction
控制器动作。在控制器动作中,我们可以使用传递的 myData
值。
另一个解决方法是使用 TempData
。在局部视图中,使用以下代码:
TempData["myData"] = "This is my data";
然后,在控制器动作中,使用以下代码:
public IActionResult MyAction()
{
//获取并使用 TempData
string myData = TempData["myData"]?.ToString();
//...
}
这样,我们可以在局部视图中设置 TempData
,并在控制器动作中获取它。
无论使用哪种方法,确保在控制器中正确获取和使用局部视图数据。