Drop down menu Kentico 12:基于另一个字段的值更改一个页面类型字段的值

Drop down menu Kentico 12:基于另一个字段的值更改一个页面类型字段的值,drop-down-menu,kentico,kentico-mvc,kentico-12,kentico-api,Drop Down Menu,Kentico,Kentico Mvc,Kentico 12,Kentico Api,我有一个带有两个字段的自定义页面类型,StateName和StateCode。我希望这样,当在这两个字段中选择一个值时,另一个字段的值将更改为匹配 例如,如果我在StateName字段中选择“Alabama”,则StateCode字段的值将自动更改为“AL”。或者如果我在StateCode字段中选择“CO”,则StateName字段将自动更改为“Colorado”,等等。这可能吗 (我必须将它们保留为两个单独的字段,因为我需要根据上下文在前端显示州名称或州代码。因此,我不能使用带有选项的单个字

我有一个带有两个字段的自定义页面类型,
StateName
StateCode
。我希望这样,当在这两个字段中选择一个值时,另一个字段的值将更改为匹配

例如,如果我在
StateName
字段中选择“Alabama”,则
StateCode
字段的值将自动更改为“AL”。或者如果我在
StateCode
字段中选择“CO”,则
StateName
字段将自动更改为“Colorado”,等等。这可能吗

(我必须将它们保留为两个单独的字段,因为我需要根据上下文在前端显示州名称或州代码。因此,我不能使用带有选项的单个字段,如
AL;Alabama
,因为该字段只返回值
AL
,我无法获取显示名称
ALabama


我知道Kentico有设置“依赖”的选项字段,但这仅用于确定可见性–例如,如果我在字段a中选择某个特定值,则仅显示字段B。我无法找到一种方法来根据另一个字段中的选定值实际更改一个字段中的选定值。

两个控件解决方案在这里似乎有些过火。您可以使用它来获得所需的值。

>
StateInfo state = StateInfoProvider.GetStateInfo("Alabama")
另一种方法是使用简单的下拉控件并使用 这样问:

select stateCode + '|'+ StateDisplayName, StateDisplayName  from cms_State

要获取代码并将名称显示为以|

分隔的值,您的意思是我可以使用一个带有状态名称的字段,然后使用
statesInfoProvider
从中获取状态代码?(一个可能的复杂情况是列表中的一个项目实际上不是状态,而只是一个自定义值–在这种情况下会发生什么?)好的。要使事情变得简单,请使用第二个选项,当您的值将包含代码和显示名称(由某些字符分隔)时。所有api都将在后端StateInfoProvider生成sql查询。Get…将生成sql查询。如果您希望同时使用代码和名称,则最好对值进行解析。