C# 如何使用列表<;元组<&燃气轮机&燃气轮机;作为动作方法参数?

C# 如何使用列表<;元组<&燃气轮机&燃气轮机;作为动作方法参数?,c#,asp.net-mvc,C#,Asp.net Mvc,我想向控制器发送一个列表,但我做得不好,因为我总是得到消息没有为此对象定义无参数构造函数,并且方法的代码不会执行 我使用一个类作为控制器参数的视图模型: 公共类保险浅滩 { 公立国际医院{get;set;} 公共列表{get;set;} } 这是控制器: [授权] 公共行动结果关联保险(保险Shospitals视图模型) { foreach(viewModel.insurances中的var保险) { /* 在这里我做一些事情。。。 */ } 返回重定向(“/医院/索引”); } 这是我调用

我想向控制器发送一个
列表
,但我做得不好,因为我总是得到消息
没有为此对象定义无参数构造函数
,并且方法的代码不会执行

我使用一个类作为控制器参数的视图模型:

公共类保险浅滩
{
公立国际医院{get;set;}
公共列表{get;set;}
}
这是控制器:

[授权]
公共行动结果关联保险(保险Shospitals视图模型)
{
foreach(viewModel.insurances中的var保险)
{
/*
在这里我做一些事情。。。
*/
}
返回重定向(“/医院/索引”);
}
这是我调用控制器的视图:


医院
@foreach(var hospital in(IQueryable)ViewData[“医院”])
{
@医院名称
}
@{
var insurances=((IQueryable)ViewData[“insurances”]).ToList();
对于(var index=0;index
就像错误所说的:一个元组,所以模型绑定器不能实例化它


您可以选择艰难的方法:创建自己的模型绑定器,也可以选择简单的方法:简单地引入一个包含适当属性的新类。这还有一个额外的好处:与
ItemN

相反,实际有用的属性名有什么理由需要使用
Tuple
而不仅仅是定义一个具有3个属性的类?我总是发现使用
元组
会使代码复杂化,并使其可读性不如具有命名属性的简单对象。不是真的,但老实说,我不想为此创建一个类。为什么不呢?好吧,那我就去上课试试。好吧,这就是问题所在。我不再将Tuple用作操作方法参数。使用类是解决方案。感谢您和Jamiec;)