c# - 如何在 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”中设置所选项目
解决方案
在 Razor 代码中,您已使用Model.IdFromCategory.ToString()(一个字符串)填充 value 属性,其中声明的属性IdFromCategory和Id都是整数。这种不匹配的类型是最终问题的原因,并且没有设置值。要成功设置值,请确保提供的值在数据源中可用并且其类型也匹配。
建议修改代码如下
@Html.EJS().DropDownList("KundenBetreuung").DataSource(Model.Categories).Fields(new Syncfusion.EJ2.DropDowns.DropDownListFieldSettings { Text = "Kategorie", Value = "Id" }).Value(Model.IdFromCategory).Width("100%").Render();
检查以下示例以获取更多参考 示例
推荐阅读
- flutter - 如何验证 Stepper 中的每个表单步骤
- python - 在 Python 中使用凭据连接到 SQL Server
- powershell - Windows 注册表中的 OpenType 字体
- android - 从库项目中杀死一个应用程序进程
- reactjs - ReactJS 从另一个组件调用一个函数
- python-3.x - ModuleNotFoundError:没有名为“keybord”的模块
- javascript - VueJS“RangeError:超出最大调用堆栈大小”
- azure - 如何将我的 GoDaddy 域连接到 Azure VM 服务器?
- python - 我无法通过 Django 中的最近聊天来组织我的消息
- java - 重用 Java (Swing) 中已经实现的函数