DropDownListFor 不显示ViewModel中设置的SelectedValue
DropDownListFor not displaying the SelectedValue set in the ViewModel
我正在使用 DropDownListFor
来显示条目中的周列表。如果您编辑现有条目,Week selected 显示得很好。
当你去创建一个新条目时,selected 值是我的optionLabel
。我想 select 开始日期大于 DateTime.Now
的第一周。
当我应用断点时,正确的 ID 设置为 SelectList 的 SelectedValue,但它没有显示在 DropDownListFor
中,当我查看时 "selected" 选项也不显示开发者工具。任何帮助都会很棒。
查看:
@Html.DropDownListFor(model => model.reportData.WeekId, Model.weeksList, "-- Select Week Of --", htmlAttributes: new { @class = "form-control" })
控制器:
int currentWeekOfId = selectableWeeksList.Where(w => w.WeekStartDate > DateTime.Now).Select(s => s.Id).FirstOrDefault();
_3PViewModel vm = new _3PViewModel()
{
weeksList = new SelectList(selectableWeeksList, "Id", "FullWeek", currentWeekOfId)
};
return PartialView(vm);
您的问题是 DropDownListFor
首先获取您的 model.reportData.WeekId
值。
就像您正在创建一个新实体一样,我想 reportData.WeekId
是 NULL
,因此助手将 SelectList 中的第一项设为 NULL
或空值。
你应该初始化你的新实体模型,而不是用 currentWeekOfId
初始化你的 Model.weeksList
,像这样:
public Action Create() {
int currentWeekOfId = selectableWeeksList.Where(w => w.WeekStartDate > DateTime.Now).Select(s => s.Id).FirstOrDefault();
_3PViewModel vm = new _3PViewModel()
{
weeksList = new SelectList(selectableWeeksList, "Id", "FullWeek"),
reportData = nezw ReportData() { WeekId = currentWeekOfId }
}
return PartialView(vm);
}
我正在使用 DropDownListFor
来显示条目中的周列表。如果您编辑现有条目,Week selected 显示得很好。
当你去创建一个新条目时,selected 值是我的optionLabel
。我想 select 开始日期大于 DateTime.Now
的第一周。
当我应用断点时,正确的 ID 设置为 SelectList 的 SelectedValue,但它没有显示在 DropDownListFor
中,当我查看时 "selected" 选项也不显示开发者工具。任何帮助都会很棒。
查看:
@Html.DropDownListFor(model => model.reportData.WeekId, Model.weeksList, "-- Select Week Of --", htmlAttributes: new { @class = "form-control" })
控制器:
int currentWeekOfId = selectableWeeksList.Where(w => w.WeekStartDate > DateTime.Now).Select(s => s.Id).FirstOrDefault();
_3PViewModel vm = new _3PViewModel()
{
weeksList = new SelectList(selectableWeeksList, "Id", "FullWeek", currentWeekOfId)
};
return PartialView(vm);
您的问题是 DropDownListFor
首先获取您的 model.reportData.WeekId
值。
就像您正在创建一个新实体一样,我想 reportData.WeekId
是 NULL
,因此助手将 SelectList 中的第一项设为 NULL
或空值。
你应该初始化你的新实体模型,而不是用 currentWeekOfId
初始化你的 Model.weeksList
,像这样:
public Action Create() {
int currentWeekOfId = selectableWeeksList.Where(w => w.WeekStartDate > DateTime.Now).Select(s => s.Id).FirstOrDefault();
_3PViewModel vm = new _3PViewModel()
{
weeksList = new SelectList(selectableWeeksList, "Id", "FullWeek"),
reportData = nezw ReportData() { WeekId = currentWeekOfId }
}
return PartialView(vm);
}