Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC:如何在子ViewModel表单中提交父ViewModel_C#_Jquery_Asp.net Mvc_Forms - Fatal编程技术网

C# MVC:如何在子ViewModel表单中提交父ViewModel

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,里面有一个ItemViewModels列表。在我看来,每个ItemViewModel都有自己的 形式

公共类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; } }