是否有办法在不使用强类型HTML帮助程序的情况下从视图中获取模型对象到控制器。 View使用Account
实体但需要发布表单并检索在用于生成值/表格网格的foreach
循环中运行的变量的帐户实体。下拉列表中的信息用于不同的实体,因此不会强类型化。
public class HomeController : Controller
{
// GET: Home
ModelContext model = new ModelContext();
[HttpGet]
public ActionResult Index()
{
return View(model.accounts.ToList());
}
[HttpPost]
public ActionResult Index(Account account,List<string> status,string name)
{
// return student object
return View();
}
}
视图中的其余代码在foreach
循环上运行,以生成table
@HTML.BeginForm
<td>
@Html.DropDownList("status",
new SelectList(Enum.GetValues(typeof(ProjectName.Models.Code))),
"...",
new { @class = "form-control" })
</td>
<td>
@Html.TextArea("comment");
</td>
答案 0 :(得分:1)
您应该创建一个父视图模型,其中包含您在视图中需要的这两种视图模型。例如:
public class ViewModel
{
public ProjectName.Models.Code Code {get; set;}
public ProjectName.Models.Account Account {get; set;}
}
另外,请查看MVC - Multiple models in a view。我认为这对你有好处。
希望这有帮助!