首页 > 解决方案 > Kentico 12:根据另一个字段的值更改一个页面类型字段的值

问题描述

我有一个包含两个字段的自定义页面类型,StateName并且StateCode. 我希望这样当在其中一个字段中选择一个值时,另一个字段的值会更改以匹配。

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

状态字段

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

我知道 Kentico 有设置“相关”字段的选项,但这似乎只能确定可见性——例如,如果我在字段 A 中选择特定值,则仅显示字段 B。我找不到一种方法来实际更改所选值字段基于另一个字段中的选定值。

标签: drop-down-menukenticokentico-mvckentico-12kentico-api

解决方案


两个控制解决方案在这里似乎有点过头了。您可以使用StateInfoProvider来获得您想要的。

StateInfo state = StateInfoProvider.GetStateInfo("Alabama")

另一种方法是使用简单的下拉控件并使用这样的查询:

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

获取代码并将名称显示为由 | 分隔的值


推荐阅读