0
我將以下代碼用作宏來填充下拉列表控件。我遇到的問題是我在代碼中添加的空白選項不會在下拉列表中顯示爲選項。我不知道爲什麼。下拉列表數據源爲宏時的空選項
private object ListOfRegions(EvaluationContext context)
{
var regions = CustomTableItemProvider.GetItems(CustomTableClassNames.CountryRegionMapping).WhereNotNull("CountryCode").Column("RegionName").Distinct().OrderByAscending("RegionName");
var items = regions.ToList().Select(r => new ListItem(r.GetStringValue("RegionName", string.Empty))).ToList();
items.Insert(0, new ListItem(" ", " "));
return items;
}
UPDATE
我通過返回分隔字符串,而不是
var regions = CustomTableItemProvider.GetItems(CustomTableClassNames.CountryRegionMapping).WhereNotNull("CountryCode").Column(columnName).Distinct().OrderByAscending(columnName);
var items = regions.ToList().Select(r => new ListItem(r.GetStringValue(columnName, string.Empty))).ToList();
items.Insert(0, new ListItem("Please select ...", string.Empty));
return items.Select(i => $"{i.Value};{i.Text}");
修改線 'items.Insert(0,新的ListItem( 「 - 選擇一個 - 」,「「));' 結果選擇被呈現但在選項值作爲文本以及文本 – RadarBug
然後在那裏放置一個無效值。在Kentico的下拉菜單,複選框列表,單選按鈕列表等等中創建一個包含值和文本的列表的基本設置說,值和文本需要在一行中用分號(;)分隔。如果不是,則單個值將用於文本和值。所以輸入一個值並顯示文本。 –
我不想要一個無效值我想要一個空值。我已經閱讀了文檔,並且還發出了逗號分隔的字符串。沒有什麼似乎給了我一個空值的選項 – RadarBug