我在我的模型中有这个,内容是国家的完整列表:
public IList<LookupCountry> LookupCountry { get; set; };
public int SelectedCountry { get; set; }
看起来像这样
public class LookupCountry : ILookup
{
public virtual int Id { get; set; }
public virtual int Code { get; set; }
public virtual string FR { get; set; }
}
public interface ILookup
{
int Id { get; set; }
int Code { get; set; }
string FR { get; set; }
}
在视图中,我想显示国家/地区列表和所选值。
@Html.DropDownListFor(c => c.LookupCountry.Id,
new SelectList(Model.LookupCountry,
"Id",
"Value",
Model.SelectedCountry),
"-- Select Country --")
当我执行此操作时,出现错误,c => c.LookupCountry.Id
中的 ID 在视图中不可用。
有什么想法吗?
谢谢,
答案 0 :(得分:0)
将c.LookupCountry.Id
更改为c.SelectedCountry
应该可以解决问题。由于LookupCountry是一个国家集合,因此没有Id属性。并且您希望将选定值从下拉列表绑定到SelectedCountry
属性。
@Html.DropDownListFor(c => c.SelectedCountry,
new SelectList(Model.LookupCountry,
"Id",
"Value",
Model.SelectedCountry),
"-- Select Country --")
答案 1 :(得分:0)
这是因为模型中的LookupCountry
类型为IList<LookupCountry>
。整个列表不包含id
,其所有成员一个接一个地包含id
。可能你想重写你的方法如下
@Html.DropDownListFor(c => c.SelectedCountry,
new SelectList(Model.LookupCountry,
"Id",
"Value",
Model.SelectedCountry),
"-- Select Country --")