gpt4 book ai didi

c# - 使用 Html.RenderAction 将模型从 View 传递到 Controller 会导致模型为空

转载 作者:太空宇宙 更新时间:2023-11-03 21:10:03 24 4
gpt4 key购买 nike

我有以下模型:

public class Foo
{
public List<Employee> Employees{ get; set; }
public List<Company> Companies{ get; set; }
public List<Admin> Admins{ get; set; }
}

然后我有我的 Controller Action :

public ActionResult Index()
{
Foo model = GetFooFromSomewhere();
return PartialView("Index", model);
}

public ActionResult Employees(List<Employee> model)
{
return PartialView("Employees", model);
}

public ActionResult Companies(List<Company> model)
{
return PartialView("Companies", model);
}

public ActionResult Admins(List<Admin> model)
{
return PartialView("Admins", model);
}

那我有我的看法

索引.cshml:

@model Foo
@if(Model.Employees.Count > 0)
{
@{Html.RenderAction("Employees", "Config", Model.Employees);}
}
@if(Model.Companies.Count > 0)
{
@{Html.RenderAction("Companies", "Config", Model.Companies);}
}
@if(Model.Admins.Count > 0)
{
@{Html.RenderAction("Admins", "Config", Model.Admins);}
}

员工.cshtml:

@model List<Employee>

//Display model here

公司.cshtml

@model List<Company>

//Display model here

Admins.cshtml

@model List<Admin>

//Display model here

如您所见,我使用 Index.cshtml 获取包含多个列表的对象。这是因为如果在列表中找不到任何项目,我需要隐藏操作。但是,当我再次使用@Html.RenderAction(...) 将它们传递给 Controller ​​时,当我期待一个列表时,我在 Controller 操作中得到了空值。为什么?

最佳答案

这样试试: Controller :

public ActionResult Admins(List<Admin> m)
{
return PartialView("Admins", m);
}

查看:

@{Html.RenderAction("Admins", "Config", new { m = Model.Admins });}

关于c# - 使用 Html.RenderAction 将模型从 View 传递到 Controller 会导致模型为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38310803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com