3

有人可以告诉我我在下拉列表视图中做错了什么吗?我认为它期望 SelectList 用于下拉列表?先感谢您。

我的模型:

public class AppointmentModel
    {
        public int CustomerID { get; set; }
        public string LastName { get; set; }
        public string FirstName { get; set; }        
        public List<DateTime> ApptDates { get; set; }
    }

看法:

@{
    var grid = new WebGrid(Model, rowsPerPage: ViewBag.RowsPerPage);    
    @grid.GetHtml(columns: grid.Columns(
        grid.Column(columnName: "LastName", header: "Last Name", canSort: true, format: @<text>@item.LastName</text>),
        grid.Column(columnName: "LastName", header: "First Name", canSort: true, format: @<text>@item.Firstname</text>),
        grid.Column(columnName: "ApptDates", header: "Appointment Dates", format: @Html.DropDownList(@item.ApptDates))
        ));                                             
}

以下更改解决了该问题:

public class AppointmentModel
    {
        public int CustomerID { get; set; }
        public string LastName { get; set; }
        public string FirstName { get; set; }        
        public DateTime ApptDt { get; set; }
        public IEnumerable<SelectListItem> ApptDatesSelectList { get; set; }
    }

看法

@{
    var grid = new WebGrid(Model, rowsPerPage: ViewBag.RowsPerPage);    
    @grid.GetHtml(columns: grid.Columns(
        grid.Column(columnName: "LastName", header: "Last Name", canSort: true, format: @<text>@item.LastName</text>),
        grid.Column(columnName: "LastName", header: "First Name", canSort: true, format: @<text>@item.Firstname</text>),
        grid.Column(columnName: "ApptDates", header: "Appointment Dates", format: @<text>@Html.DropDownList("ApptDt", (IEnumerable<SelectListItem>)@item.ApptDatesSelectList)</text>)
        ));                                             
}
4

1 回答 1

4

假设我的评论的答案是每个约会都有一个日期,您首先需要在特定日期为您的模型添加一个属性:

public class AppointmentModel
    {
        public int CustomerID { get; set; }
        public string LastName { get; set; }
        public string FirstName { get; set; }
        public DateTime AppointmentDate {get; set;}        
        public List<DateTime> ApptDates { get; set; }
    }

然后,您将需要您的潜在约会,SelectList一旦您这样做了,您可以像这样实施:

@{
    var grid = new WebGrid(Model, rowsPerPage: ViewBag.RowsPerPage);    
    @grid.GetHtml(columns: grid.Columns(
        grid.Column(columnName: "LastName", header: "Last Name", canSort: true, format: @<text>@item.LastName</text>),
        grid.Column(columnName: "LastName", header: "First Name", canSort: true, format: @<text>@item.Firstname</text>),
        grid.Column(columnName: "ApptDates", header: "Appointment Dates", format: @<text> @Html.DropDownList(@item.AppointmentDate, yourSelectList )</text>)
        ));                                             
}
于 2012-10-11T19:05:56.733 回答