回发期间ASP禁用按钮

时间:2014-08-20 15:41:45

标签: c# javascript jquery asp.net

我有一个按钮,我试图添加一个css类,一旦用户点击它就会显示为禁用。

protected void Button_Continue_OnClick(object sender, EventArgs e)
    {
        Panel_Error.Visible = false;
        Literal_Error.Text = "";
        if (RadioButton_Yes.Checked)
        {
            ...//if radio checked get text and process etc.
        }
    }

我的按钮onlick位于其上方,只是处理页面上填充的文本框。

我的按钮如下所示:

<asp:Button runat="server" ID="Button_Continue" CssClass="button dis small" Text="Continue" OnClick="Button_Continue_OnClick" ClientIDMode="Static" OnClientClick="return preventMult();" />

我的javscript如下:

<script type="text/javascript">
var isSubmitted = false;
function preventMult() {
    if (isSubmitted == false) {
        $('#Button_Continue').removeClass('ready');
        $('#Button_Continue').addClass('disabled');
        isSubmitted = true;
        return true;
    }
    else {
        return false;
    }
}
</script>

我遇到的问题是添加的css类在第一次回发时工作正常,但之后我的按钮onclick无法工作,如果用户需要重新提交数据,则无法再次点击该按钮

我遇到的另一个问题是,在我的方法中使用断点时,我注意到该方法在点击时被触发了两次。

2 个答案:

答案 0 :(得分:1)

看起来你需要这样的东西:

private void Page_Load()
{
   if (!IsPostBack)
   {
    //doNothing
    }
else
    {
    //button.disabled = true
    }
}

答案 1 :(得分:0)

试试这个

<asp:Button runat="server" ID="Button_Continue" AutoPostBack="true" CssClass="button dis small" Text="Continue" OnClick="Button_Continue_OnClick" ClientIDMode="Static" OnClientClick="return preventMult();" />