创建编辑器模板

本文关键字:编辑器 创建 | 更新日期: 2023-09-27 18:11:16

我试图实现Nullable<bool>的编辑器模板,而不是出现真或假,出现"Si"或"No"。这是我目前得到的。

@model Nullable<bool>
@{
   var listItems = new List<System.Web.UI.WebControls.ListItem>();
   listItems.Add(new System.Web.UI.WebControls.ListItem{Text="Si", Value="true"});
   listItems.Add(new System.Web.UI.WebControls.ListItem{Text="No", Value="false"});         
}

@Html.DropDownList( model => model.Value, listItems)

和它抛出这个错误Cannot convert lambda expression to type 'string' because it is not a delegate type。我看不到错误,我做错了什么??

创建编辑器模板

DropDownList helper接受字符串作为第一个参数,而不是lambda表达式。使用DropDownListFor并确保第二个参数是IEnumerable<SelectListItem>,您的代码不是:

@model Nullable<bool>
@{
    var listItems = new[]
    {
        new SelectListItem { Value = "true", Text = "Si" },
        new SelectListItem { Value = "false", Text = "No" }
    };
}
@Html.DropDownListFor(model => model.Value, listItems)

你可以在ASP中忘记System.Web.UI.WebControls.ListItem。NET MVC应用程序。这是典型的WebForms