C# MVC:如何在子ViewModel表单中提交父ViewModel
我有一个QueueViewModel,里面有一个ItemViewModels列表。在我看来,每个ItemViewModel都有自己的 形式C# MVC:如何在子ViewModel表单中提交父ViewModel,c#,jquery,asp.net-mvc,forms,C#,Jquery,Asp.net Mvc,Forms,我有一个QueueViewModel,里面有一个ItemViewModels列表。在我看来,每个ItemViewModel都有自己的 形式 公共类QueueViewModel { 公共列表项{get;set;} 公共项目视图模型SelectedItem{get;set;} 公共列表ListOfStringsIneed{get;set;} 公共整数页码{get;set;} } 公共类ItemViewModel { 公共int ItemID{get;set;} 公共字符串RandomInfo{get
公共类QueueViewModel
{
公共列表项{get;set;}
公共项目视图模型SelectedItem{get;set;}
公共列表ListOfStringsIneed{get;set;}
公共整数页码{get;set;}
}
公共类ItemViewModel
{
公共int ItemID{get;set;}
公共字符串RandomInfo{get;set;}
}
提交ItemViewModel表单时,我希望将该特定项的值添加到父QueueViewModel的SelectedItem字段,然后将QueueViewModel发布到控制器
如果不将父QueueViewModel作为隐藏字段包含在每个表单中,有什么好方法可以做到这一点?您可以在
ItemViewModel
中包含父关系,如
public class ItemViewModel { public int QueueId { get; set; } }
然后在后端控制器中,您知道如何创建整个父级
这里的要点是利用您的持久性层,减轻HTTP的一些负担。我以前使用会话存储QueueViewModel,但最近决定删除会话。我将不得不查找关于持久层的更多信息,因为我不知道它。您的持久层就是您的数据库。另一个选项是在web层上进行缓存,即HttpContext.Cache
public class ItemViewModel { public int QueueId { get; set; } }