如何在运行时将PropertyProxyValidator与ServerSideValidationExtender一起使用

时间:2010-07-02 12:22:36

标签: c# asp.net ajax enterprise-library

我在我的CSLA业务对象的StringLenthValidator字段中添加了name属性,我试图使用AJAX PropertyProxyValidator来验证字符串输入名称字段。

我能够在运行时创建控件并且它工作正常,但它没有使用PropertyProxyValidator来报告我在Business Object属性中指定的错误消息,而是抛出了一个错误消息如下:

  

对象无效且无法生效   保存

下面的代码:

PropertyProxyValidator ppvNewName = new PropertyProxyValidator();
ppvNewName.PropertyName = "Name";
ppvNewName.ResourceClass = "MyResource";
ppvNewName.SourceTypeName = "SourceType";
ppvNewName.ControlToValidate = "txtNewName";
ppvNewName.Display = Dynamic;
ppvNewName.DisplayMode = List;
AjaxControlToolkit.WCSFExtensions.ServerSideValidationExtender ssve = new AjaxControlToolkit.WCSFExtensions.ServerSideValidationExtender();

ssve.TargetControlID = "ppvNewCategoryName";

1 个答案:

答案 0 :(得分:0)

您在哪里设置PropertyProxyValidator的ID?您应该进行设置,然后拨打ssve.TargetControlID = ppvNewName.ID

如果您完全动态地执行此操作(除了正确连接所有内容之外),我认为您必须将PropertyProxyValidator和ServerSideValidationExtender添加到UpdatePanel。

也许Adding controls dynamically to an UpdatePanel in ASP.NET AJAX可以为此提供一些帮助。