我希望我可以粘贴我的标记,但它太复杂并且包含很多对客户公司名称的引用。我希望有丰富经验的人能够指出我正确的方向。
我们有一个包含不属于验证组的 ValidationSummary 的母版页。在我们的内容页面上,我们有另一个 ValidationSummary,它分配给名为 ValReject 的验证组。在内容页面上还有一个使用 ClientValidationFunction 的 CustomValidator 和一个按钮,这两者也都分配给 ValReject。
当我单击按钮时,客户端函数执行一次,但错误报告给两个验证摘要,内容页面上的一个和母版页上的一个。我什至添加了第三个验证摘要并将其组设置为“asdf”之类的内容,但它也被报告给,这意味着所有三个验证摘要都在页面上显示相同的错误。
然后,我创建了一个单独的 ASP.NET 测试项目,将所有代码粘贴到其中,然后运行它,它会按照应有的方式进行验证。
然后我在内容页面上玩了 AutoEventWireup。当我将其设置为 false 时,验证有效,但页面加载事件不会触发。那是怎么回事?
我知道您可能需要代码示例,但是,就像我说的那样,如果不经历巨大的头痛,我就无法做到这一点(相信我,主页面和内容页面标记是巨大的。
这里的问题是:有没有人知道什么会导致单个验证器向页面上的所有验证摘要报告,即使其中只有一个验证器与验证器和按钮共享相同的验证组?
编辑:当我将标记粘贴到我的测试应用程序中时,我确实必须删除一些标签才能使其工作,因为测试应用程序没有对真实母版页使用的某些程序集的引用。我删除的一些内容是:
<%@ Register Assembly="RadMenu.Net2" Namespace="Telerik.WebControls" TagPrefix="radM" %>
<radM:RadMenu ID="RadMenu1" runat="server" DataSourceID="smdsMenu" Skin="CssGrey" ClickToOpen="True" EnableViewState="False" CausesValidation="false" />
因此,它在我的测试应用程序上工作的事实让我得出结论,我们正在我们的生产应用程序上做一些我在我的测试应用程序中没有做的事情。是的,我知道这很模糊,但也许一个灯泡会在某人的脑海中熄灭。