我正在使用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”中设置所选项目
答案 0 :(得分:1)
在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();
请检查以下示例以供进一步参考 Example