Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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# ASP.NET MVC4返回列表<;T>;从视图返回到模型_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# ASP.NET MVC4返回列表<;T>;从视图返回到模型

C# ASP.NET MVC4返回列表<;T>;从视图返回到模型,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我是ASP.NETMVC新手,有以下情况。我需要一些帮助来创建正确的模型或视图 我现在有下面的型号 public class ExtrasModel { public List<ExtraItem> ExtraItems { get; set; } public DateTime FlightArrivalTime { get; set; } public PickupInfoType PickupInfo {get; set; } } public cl

我是ASP.NETMVC新手,有以下情况。我需要一些帮助来创建正确的模型或视图

我现在有下面的型号

public class ExtrasModel
{
    public List<ExtraItem> ExtraItems { get; set; }
    public DateTime FlightArrivalTime { get; set; }
    public PickupInfoType PickupInfo {get; set; }
}


public class ExtraItem
{
    public string ExtraInfo { get; set; }
    public int ProdExtraId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public double Cost { get; set; }
    public int CostType { get; set; }
    public string Currency { get; set; }
    public int Quantity { get; set; }
    public double TotalCost { get; set; }
}
公共类外部模型
{
公共列表外部项{get;set;}
公共日期时间FlightArrivalTime{get;set;}
公共PickupInfoType PickupInfo{get;set;}
}
公共类附加项
{
公共字符串ExtraInfo{get;set;}
public int prodetraid{get;set;}
公共字符串名称{get;set;}
公共字符串说明{get;set;}
公共双成本{get;set;}
公共int CostType{get;set;}
公共字符串货币{get;set;}
公共整数数量{get;set;}
公共双总成本{get;set;}
}
将从数据库中获取额外的列表

这就是我的观点:

@foreach(var extra in Model.ExtrasList)
{
        <tr>
            <td>
                //Not sure what code to put here
                @Html.DropDownListFor(p => p.ExtrasList, new SelectList(listItems, "Value", "Text", extra.Quantity), new { id = extra.ProdExtraId })
            </td>
            <td>@extra.Name</td>
            <td>@string.Format("{0} {1}", extra.Cost, extra.Currency)</td>
        </tr>
    }
@foreach(Model.ExtrasList中的变量extra)
{
//不确定要在这里放什么代码
@DropDownListFor(p=>p.ExtrasList,新建SelectList(列表项,“值”,“文本”,extra.Quantity),新建{id=extra.prodetraid})
@额外姓名
@string.Format(“{0}{1}”,extra.Cost,extra.Currency)
}
现在,如何使视图返回带有为额外选择的数量的模型


提前谢谢

外部项
模型创建一个编辑器模板。 编辑器模板的内容基本上与循环的内容相同

用以下语句替换循环:

@Html.EditorFor(x => x.ExtraItems)

这应该可以做到。

如果要将元素放在表单中,表单将回发到服务器,那么可以为您的类型创建自定义编辑器模板。如果执行此操作,请将Html.EditorFor与可枚举项一起使用

在视图文件夹中创建EditorTemplates文件夹,然后添加新的强类型局部视图。把它命名为ExtraItem。在此视图中为枚举表中的每个项目放置标记

使用时:

@Html.EditorFor(x=> x.ExtraItems)
您将得到如下输出:

<input id="ExtraItems_0__name" name="ExtraItems[0].name" type="hidden" value="aName">

请注意数组样式名称。当表单发回时,服务器将正确识别可枚举项