如何将RadzenDropDown多选复选框值转为逗号分隔字符串
解决Radzen多选下拉框生成逗号分隔字符串问题
修正后的前端代码
<label>Zone</label> <RadzenDropDown class="form-control w-100" placeholder="Select Zone" AllowClear="true" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive" FilterOperator="StringFilterOperator.StartsWith" AllowFiltering="true" Multiple="true" @bind-Value="@SelectedValues" TextProperty="Name" ValueProperty="Code" Data="@_ZoneList.Select(x => new { Name = x.EntityName, Code = x.EntityCode.ToString() }).ToList()" Change="@(args => OnOrgChange(args, 3))" />
修正后的后端代码
@code{ // 存储选中的Code集合 IEnumerable<string> SelectedValues { get; set; } = Enumerable.Empty<string>(); List<OrgItemDetails> _ZoneList = new List<OrgItemDetails> { new OrgItemDetails { EntityCode = "100P", EntityName="EntityName1" }, new OrgItemDetails { EntityCode = "1101", EntityName="EntityName2"}, new OrgItemDetails { EntityCode = "1234T", EntityName="EntityName3"}, new OrgItemDetails { EntityCode = "1U11", EntityName="EntityName4"}, new OrgItemDetails { EntityCode = "66W1", EntityName="EntityName5"} }; public void OnOrgChange(object args, int priorityId) { // 将选中的字符串集合转为逗号分隔的字符串 string entityCodes = string.Join(",", SelectedValues); // 此处可对生成的字符串做后续处理,如打印、传递至其他逻辑 Console.WriteLine(entityCodes); } // 若项目中未定义OrgItemDetails,需补充该类 public class OrgItemDetails { public string EntityCode { get; set; } public string EntityName { get; set; } } }
关键修正说明
- 修复语法错误:将原代码中
x.EntityCode.toString()改为x.EntityCode.ToString(),C#方法名需遵循首字母大写规范。 - 简化绑定逻辑:用自动属性替代自定义的
SelectedValuesget/set,保持功能不变的同时简化代码。 - 正确生成目标字符串:使用
string.Join(",", SelectedValues)直接拼接选中集合,避免手动拼接导致的多余逗号问题。 - 依赖双向绑定取值:直接使用已同步的
SelectedValues获取选中项,比依赖Change事件参数更可靠。
内容的提问来源于stack exchange,提问作者Abhishek
相关产品推荐
相关产品推荐

