【发布时间】:2012-11-13 18:35:04
【问题描述】:
我的视图中有以下内容:
<div class="editor-field">
@Html.DropDownListFor(x => x.Subject, (IEnumerable<SelectListItem>) ViewBag.Clients)
</div>
这就是我调用视图的方式:
var list = new List<SelectListItem>
{
new SelectListItem {Text = "Gas Order", Value = "delivery"},
new SelectListItem {Text = "Account Services", Value = "account"},
new SelectListItem {Text = "Service Call", Value = "service"},
new SelectListItem {Text = "Inquiry", Value = "inquiry"}
};
ViewBag.Clients = list;
返回视图();
这是在我的模型中:
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Text)]
[Display(Name = "Subject")]
public string Subject { get; set; }
我正在尝试返回所选值。
当我因屏幕错误而重新加载屏幕时,我收到此错误:
具有“主题”键的 ViewData 项属于类型 'System.String' 但必须是 'IEnumerable' 类型。
我假设是因为这条线:
public string Subject { get; set; }
如果是这种情况,我如何将所选项目恢复到我的模型中?
【问题讨论】:
-
你还有困难吗?
-
不,你回答了我的问题,谢谢!
标签: asp.net-mvc razor