我在S.O.开了一个问题。处理这个下拉列表的实现,但是我正忙着使用它的模型。
所以有两个问题:
@Html.DropDownListFor(m => m.Id, new SelectList(ViewBag.CompanyList as System.Collections.IEnumerable,"CoId","CompanyName"))
什么是m => m.Id实际上在这里做什么?
“CoId”是否设置为值并且“CompanyName”设置为文本?
这是我的模特:
public class CompanyViewModel
{
public int Id { get; set; }
public string CompanyName { get; set; }
}
public class CompanyViewModelDbContext : DbContext
{
public DbSet<CompanyViewModel> Contacts { get; set; }
}
答案 0 :(得分:0)
什么是m =&gt; m.Id实际上在这里做什么?
将模型中的值设置为DDL。
“CoId”是否设置为值并且“CompanyName”设置为文本?
是和否,“CoId”是您的DDL的值,但是,您没有任何属性“CoId”,因此,您需要更改为“Id”。
答案 1 :(得分:0)
m => m.Id
将Id
的{{1}}属性设置为由下拉列表控制的值(也会在加载时设置所选值)。
Model
定义了,"CoId","CompanyName"
项的哪些属性被用作值和文本。它说,“使用IEnumerable
作为值,并在CoId
中的每个项目的下拉列表中显示CompanyName
。”
正如 BetaSystems - Rodrigo D 所说,由于您没有ViewBag.CompanyList
属性,因此应将其更改为CoId
。