首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取回发时使用的validationgroup

获取回发时使用的validationgroup
EN

Stack Overflow用户
提问于 2011-06-14 12:53:34
回答 1查看 1.5K关注 0票数 2

我正在使用C# (.NET 2.0)中的遗留项目。在这个项目中有两个验证组。一个用于自定义登录控件,另一个用于用户向时事通讯提交。我遇到的问题是,当用户提交订阅时事通讯时,会在page_prerender()方法中触发一些自定义代码,只有当用户尝试登录时才会触发该代码。

我一直在寻找一个解决方案来识别在回发中使用的两个组中的哪个,这样我就可以在需要时忽略自定义代码。我的想法是尝试检查两个验证组中的哪个用于验证。不幸的是,在google上花费了几个小时没有结果,我找不到任何东西让我知道在验证时实际使用的是哪个验证组。有什么办法能查出来吗?

代码语言:javascript
复制
<asp:Button ID="btn_newsletter" 
            runat="server" 
            Text="Verzend" 
            ValidationGroup="newsLetter" 
            meta:resourcekey="bnt_newsletter"
            OnClick="handleNewsLetter"
            CssClass="roundedButtonBig" 
 />


<asp:Button ID="LoginButton" 
            runat="server" 
            CommandName="Login" 
            Text="Inloggen" 
            ValidationGroup="lgnUser" 
            meta:resourcekey="LoginButtonResource1" 
            CssClass="roundedButtonBig" 
 />

只有在按下LoginButton并需要在Pre_render()上执行时,以下代码才会触发。或者传递正确的ValidationGroup (其中现在传递null )。

代码语言:javascript
复制
protected void Page_PreRender(object sender, EventArgs e)
{

    //Register custom ValdiationErrorService added errors to JavaScript so they can be added into the popup.
    ValidationErrorService.RegisterServerValidationMessageScript(Page, null);

}
EN

回答 1

Stack Overflow用户

发布于 2011-06-14 13:06:07

若要检查哪个验证组有效,请调用:

代码语言:javascript
复制
Page.Validate(“newLetter”);

那就查查

代码语言:javascript
复制
Page.IsValid;

这将返回值。斯科特·谷的博客上有更多报道

编辑你也想知道哪个按钮是在预录制事件中点击的,听起来也是这样。虽然您无法从传递到页面预分发程序的参数中找到这一点,但您可以依赖于在page_prerender事件之前发生的按钮事件。在后面的aspx页代码中,创建一个成员变量。此变量将用于表示是否应该执行预存器逻辑。

接下来,在两个按钮的单击事件中,将该局部变量设置为指示该按钮是否应该在page_prerender事件中触发所需的逻辑。

最后,检查page_prerender方法中的局部变量,并根据新成员变量将逻辑封装在if语句中。

小径快乐!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6343757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档