当我分配下拉列表框值时,我收到以下错误。
DataBinding: 'System.Web.Mvc.SelectListItem' does not contain a property with the name 'code'
。
以下是我视图中的下拉列表框代码。
<span id="StateFilterRow"> State: <%= Html.DropDownList("StatesFilter", new SelectList(Model.StatesList, "code", "code", Model.SelectedState), new { style = "background-color: #eee; font-weight:bold;" })%></span>
这是我的代码获取下拉列表框值。
在我的结果状态中,我有国家的文字和价值
Text = '{code = AL}'
在我的ViewModel ..
public SelectList StatesList { get; set; }
我的视图代码中出错了吗?
任何人都可以帮助我
感谢
答案 0 :(得分:1)
您的getListOfStates
方法已经返回SelectList
,因此在您的视图中,您无需创建另一个方法。所以你可以修改这个方法并在那里指定属性:
private SelectList getListOfStates()
{
var values =
from s in generic.CodeTypes
join c in generic.ApplicationCodes on s.CodeType_Id equals c.CodeType_ID
where s.CodeType_Id == 26
select new
{
Code = c.Code,
};
return new SelectList(values, "Code", "Code");
}
然后在你看来:
<%= Html.DropDownList(
"StatesFilter",
Model.StatesList,
new { style = "background-color: #eee; font-weight:bold;" }
) %>