在ASP.NET/C#中,有没有一种方法可以不加载特定控件?

3
我有一个容器(RadDockZone - Telerik),里面有一个文本框字段和一个“Asp:RequiredFieldValidator”,使其成为必填项。每次使用AJAX操作时,整个容器都会“重新加载”,包括RequiredFieldValidator。这会导致ValidationSummary显示相同的错误消息两次,直到页面完全重新加载(我正在使用RadAjaxManager解决AJAX操作)。
那么,如何使用C#“不重新加载”特定控件(在本例中为RequiredFieldValidator)?
问候!

我不确定我是否完全理解了它,但是您不能将CausesValidation设置为false,以便在触发AJAX操作的控件上执行吗? 您正在执行哪些AJAX操作? - thomasvdb
3个回答

2
如果您在页面加载中添加以下代码: if(page.Isvalid),则提交表单后将触发必填字段验证器一次。消息不会显示两次。

0
如果您没有将文本框(或其包装容器)包含在由Ajax管理器更新的控件列表中,则在Ajax请求上不应更新文本框和相应的必需验证器,并且不应可视化错误消息。

是的,我以前见过这个...它可能是一个实践解决方案,如果不是因为在我的公司中使用了“模式”的问题。无论如何,我真的必须将这些控件包装在一个容器中,并通过AJAX管理器进行更新。谢谢! - Kira

0
你应该使用验证组。这样可以将所有验证控件分组。然后将相同的验证组放在提交按钮上,当单击特定按钮时,这些验证控件才会进行验证。
使用ValidationGroup属性在验证控件和按钮上分配属性。
Thomasvdb建议将CausesValidation设置为false也可能是一种不错的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接