如何检查所需的字段验证器是否在C#中被触发? [英] how to check required field validator is fired or not in c#?

查看:68
本文介绍了如何检查所需的字段验证器是否在C#中被触发?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用了如下所示的禁用按钮代码,然后在按钮还发回时触发了必填字段.所以我想检查必填字段是否被触发,如下所示.

I have using like below disabling code for button then required fields firing when but also button goes to postback. so I want to check required field is fired or not like below.how?

protected void Page_Load(object sender, EventArgs e)
{
    btnPackageSubmit.Attributes.Add(
                      "onclick",
                      "this.disabled=true;"
                        + ClientScript.GetPostBackEventReference(btnPackageSubmit, "")
                    .ToString());
}

protected void btnPackageSubmit_Click(object sender, EventArgs e)
{
    System.Threading.Thread.Sleep(2000);
    if (reqPackNameAdd.IsValid == true
        || reqPackPeriodAdd.IsValid == true
        || reqPackPriceAdd.IsValid == true
        || regPackNameAdd.IsValid == true
        || regPackPrice.IsValid == true)
    {
        return;
    }
}

推荐答案

有一个名为IsValid的属性,它是页面类的一部分.


那也是我的第一个本能.但是快速测试表明(无论如何),它不起作用.可能是因为在JS代码运行之后发生了验证.

所以我这样做是这样的:

函数saveForm(c)
{
如果(Page_ClientValidate())
{
c.disabled = true;
警报(``是''); //我添加了此代码以验证按钮已被禁用
__doPostBack(c.id,``''); //您必须使用它,因为.click()不能在禁用的按钮上起作用.
}
There is a property called IsValid which is part of the page class.



That was my first instinct as well. But a quick test showed (me anyway) that it didn''t work. Probably because valiation occurs after the JS code runs.

So I did it like this:

function saveForm(c)
{
if (Page_ClientValidate())
{
c.disabled = true;
alert(''Yes''); // I added this to validate the button was getting disabled
__doPostBack(c.id, ''''); // you have to use this because .click() won''t work on a disabled button.
}


这篇关于如何检查所需的字段验证器是否在C#中被触发?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆