Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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
Asp.net mvc 列表中包含EditorFor的MVC索引视图_Asp.net Mvc_Datepicker_Editorfor - Fatal编程技术网

Asp.net mvc 列表中包含EditorFor的MVC索引视图

Asp.net mvc 列表中包含EditorFor的MVC索引视图,asp.net-mvc,datepicker,editorfor,Asp.net Mvc,Datepicker,Editorfor,在我的行列表的索引视图中,我为我的字段放置了一个EditorFor,而不是DisplayFor。我试图为我的行捕获一个完成日期,然后能够提交所有有值的行。该字段是一个DateTime,字段的DatePicker起作用。但是,当我在第一行之外的任何行中选择一个值时,它将更改第一行中的值,并且不会在相应字段中放置任何值 然后我想点击提交按钮,让它进入列表,查找对记录的任何修改,并记录更改 在我的Index.cshtml中,我尝试了以下方法- @for (var i = 0; i < Mode

在我的行列表的
索引
视图中,我为我的字段放置了一个
EditorFor
,而不是
DisplayFor
。我试图为我的行捕获一个完成日期,然后能够
提交
所有有值的行。该字段是一个
DateTime
,字段的
DatePicker
起作用。但是,当我在第一行之外的任何行中选择一个值时,它将更改第一行中的值,并且不会在相应字段中放置任何值

然后我想点击提交按钮,让它进入列表,查找对记录的任何修改,并记录更改

在我的Index.cshtml中,我尝试了以下方法-

@for (var i = 0; i < Model.Count(); i++ )
        { 
            @Html.EditorFor(modelItem => item.CompletionDate[i])
        }

你的模特长什么样?您可能需要改为
item[i]。CompletionDate
。当我将其更改为
item[i]时,CompletionDate
只会在item部分而不是CompletionDate部分收到相同的消息。
item
的类型是什么?如果它是一个集合,您可以使用索引器
项[i]
。您不能对类型为
DateTime?
的属性
CompletionDate
执行此操作。如果您的页面模型是一个集合
IList
,那么每个循环迭代都将是
@Html.EditorFor(m=>model[i].CompletionDate)
我将它作为一个
IList
,用于每个记录的3个
CompletionDate
编辑框中的三项。虽然它允许我为每个框选择日期。看到这个答案了吗
namespace AQB_MON.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;

public partial class PrevMaintenanceList
{
    public int PrevMaintenanceListID { get; set; }
    public int PreventativeMaintenanceID { get; set; }
    public int DeviceTypeMaintenanceID { get; set; }
    [Display(Name = "Completion Date")]
    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
    public DateTime? CompletionDate { get; set; }
}