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

私のコメントに対する答えが各予定に1つの日付があるということであると仮定すると、最初に特定の日付のプロパティをモデルに追加する必要があります。

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 に答える