首页 > 解决方案 > 如何在 Syncfusion DropDownList 控件中显示所选项目

问题描述

我正在使用 Syncfusion 控件开发 ASP.NET MVC 应用程序。我的视图中有一个下拉列表。该模型有一个属性“类别”,它是类别类型的列表。

public class Category
{
    public int XKategorieId { get; set; }
    public int? Id { get; set; }
    public string Hinweis { get; set; }
    public string Kategorie { get; set; }
}

视图的模型也有一个属性“IdFromCategory”。型号为:

public class ReportModel
{
    public int? IdFromCategory { get; set; }
    public List<Category> Categories { get; set; }
}

我通过设置“DropDownList”的“DataSource”来显示下拉列表中的所有类别。现在,我的问题是我想在视图加载时显示在“DropDownList”中选择的项目,并且该选定项目将是“Id”等于“IdFromCategory”的项目。

@Html.EJS().DropDownList("KundenBetreuung").DataSource(Model.Categories).Fields(new Syncfusion.EJ2.DropDowns.DropDownListFieldSettings { Text = "Kategorie", Value = "Id" }).Value(Model.IdFromCategory.ToString()).Width("100%").Render();

这是我的代码,我无法在“DropDownList”中设置所选项目

标签: c#asp.net-mvcsyncfusion

解决方案


在 Razor 代码中,您已使用Model.IdFromCategory.ToString()(一个字符串)填充 value 属性,其中声明的属性IdFromCategoryId都是整数。这种不匹配的类型是最终问题的原因,并且没有设置值。要成功设置值,请确保提供的值在数据源中可用并且其类型也匹配。

建议修改代码如下

@Html.EJS().DropDownList("KundenBetreuung").DataSource(Model.Categories).Fields(new Syncfusion.EJ2.DropDowns.DropDownListFieldSettings { Text = "Kategorie", Value = "Id" }).Value(Model.IdFromCategory).Width("100%").Render();

检查以下示例以获取更多参考 示例


推荐阅读