我們有下拉列表,其中的選項可以根據誰在使用該應用程序而有所不同。這個想法是創建下拉選項枚舉和它做附加到<select>
標籤以下內容:乾淨的方式來動態綁定枚舉選擇下拉菜單?
public ListOfEnums? PropertyValue { get; set; }
public enum ListOfEnums
{
OptionA,
OptionB
}
public enum ListOfEnumsAlternate
{
OptionY,
OptionZ
}
<select asp-for="PropertyValue" asp-items="Html.GetEnumSelectList<ListOfEnums>()"></select>
如果下拉選項是靜態的這個偉大的工程。但是,在我們的應用程序中,選項可以根據以前字段的回答方式或基於其他屬性值進行更改。所以在某些情況下我們可能需要顯示ListOfEnumsAlternate
。
是否有一個乾淨的方式來實現這一點,仍然使用枚舉或不同的選項(客戶端與jQuery?)會更好?
這是javascript的設計目的。對於很少/很簡單的東西,一些簡單的jquery可能就足夠了。對於任何更復雜的事情,您可能想要使用ReactJS或Angular來查看客戶端渲染,否則事情可能會很快失去控制。 – caesay
只要你說「選項可以根據以前的字段的回答而改變」,你就在談論客戶端交互,然後需要AJAX來獲取新信息。 –
'PropertyValue'是'ListOfEnums',所以它只會綁定到'OptionA'或'OptionB'的值。你需要在你的視圖模型中綁定一個單獨的屬性來綁定到'ListOfEnumsAlternate' –