0

目前,我正在执行以下逻辑:

我有一个布局页面,我需要在其中显示一个 Kendo.DropDown 列表。

我创建了一个模型:

公共类 CultureModel { 公共字符串 Culture { 获取;放; }

public List<string> AvailableCultures { get; set; }

public CultureModel()
{
    PopulateCulture();
}

private void PopulateCulture()
{
    CultureModel cm = new CultureModel();
    cm.AvailableCultures = new List<string>();
    cm.AvailableCultures.Add("en-US");
    cm.AvailableCultures.Add("de-DE");
    cm.AvailableCultures.Add("es-ES");
}

}

在我的布局中,我定义了模型:@model CultureModel

然后,我尝试渲染 DisplayTemplate 以显示下拉列表:

 @Html.DisplayFor(x => x.AvailableCultures, "_CultureSelector")

我的模板是:

@model List<string>

<label for="culture">Choose culture:</label>
@(Html.Kendo().DropDownList()
        .Name("culture")
)

这是正确的方法吗?

4

1 回答 1

1

通过在布局文件中有一个下拉菜单来考虑您的用例,可以直接在布局文件中使用以下代码创建您的剑道下拉菜单:

@{
 @(Html.Kendo().DropDownList()
      .Name("Cultures")
      .DataTextField("Text")
      .DataValueField("Value")
      .BindTo(new List<SelectListItem>() {
          new SelectListItem() {
              Text = "en-US",
              Value = "1"
          },
          new SelectListItem() {
              Text = "de-DE",
              Value = "2"
          },
          new SelectListItem() {
              Text = "es-ES",
              Value = "3"
          }
      })
   )
}

也许使用部分视图来呈现布局中的代码,以更好地组织代码和提高可读性: @Html.Partial("_CultureSelector")

我在 Telerik 网站上找到了代码:https ://demos.telerik.com/aspnet-mvc/dropdownlist

于 2019-05-14T20:06:30.690 回答