C# 在自定义PropertyEditor中使用时,在DevXPress中未触发ASPxComboBox的回发

C# 在自定义PropertyEditor中使用时,在DevXPress中未触发ASPxComboBox的回发,c#,asp.net,devexpress,xaf,C#,Asp.net,Devexpress,Xaf,我正在开发一个DevExpress XAF应用程序,在该应用程序中,我需要使用自定义属性编辑器定义业务对象的一个属性,以便使用从另一个业务对象填充的下拉列表来显示它,如下所示: [ImmediatePostData(true)] [ModelDefault("PropertyEditorType", "CollateralSaleTypePropertyEditor")] [Size(140)] public string COLLATERAL_SALE_TYPE { get { ret

我正在开发一个DevExpress XAF应用程序,在该应用程序中,我需要使用自定义属性编辑器定义业务对象的一个属性,以便使用从另一个业务对象填充的下拉列表来显示它,如下所示:

[ImmediatePostData(true)]
[ModelDefault("PropertyEditorType", "CollateralSaleTypePropertyEditor")]
[Size(140)]
public string COLLATERAL_SALE_TYPE
{
    get { return GetPropertyValue<String>("COLLATERAL_SALE_TYPE"); }
    set
    {
        SetPropertyValue("COLLATERAL_SALE_TYPE", value);
        // OnChanged("COLLATERAL_REPOSSESSION_DATE");
    }
}

因此,基本上每次我更改所选项目时,都不会发生任何事情。我发现下面的链接解释了更新的原因。但即使在我遵循这些步骤之后,什么也没有发生

我认为解决你问题的办法是显而易见的。问题在于这一行:

dropDownControl.ClientSideEvents.SelectedIndexChanged = 
                  "function (sender, e) { e.processOnServer=false;}";
由于指定了
e.processOnServer=false
,因此会在客户端生成
SelectedIndexChanged
事件,但不会影响服务器


如果希望
SelectedIndexChanged
到达服务器端,则需要完全删除客户端处理程序或将其更改为具有
e.processOnServer=true

我认为解决你问题的办法是显而易见的。问题在于这一行:

dropDownControl.ClientSideEvents.SelectedIndexChanged = 
                  "function (sender, e) { e.processOnServer=false;}";
由于指定了
e.processOnServer=false
,因此会在客户端生成
SelectedIndexChanged
事件,但不会影响服务器


如果希望
SelectedIndexChanged
到达服务器端,则需要完全删除客户端处理程序或将其更改为具有
e.processOnServer=true

嘿,我解决了这个问题,是的,processedOnServer属性必须设置为true,这似乎是下拉控件的一个特别问题。@kejsiStruga很高兴它有帮助!。如果您当时接受答案,我将不胜感激。嘿,我解决了它,是的,processedOnServer属性必须设置为true,这似乎是下拉控件的一个特别问题。@kejsiStruga很高兴它有帮助!。如果你能接受答案,我将不胜感激。