如何从按钮中删除禁用的属性?

时间:2013-04-29 07:02:33

标签: c# asp.net

如何从代码隐藏中删除asp.net按钮中的禁用属性。

我已经使来自javascript的按钮的disbled属性为true,并希望在代码隐藏中启用它。

在Javascript中,

btnCalc.disabled=true;

在Code-behind中,在复选框更改事件中,我正在启用,

btnCalc.enabled=true;//but this does not enable the button.

我尝试删除按钮的属性,但它对我有效。

btnCalc.Attributes.Remove("disabled");

请让我知道,任何其他方法来实现这一目标。

2 个答案:

答案 0 :(得分:2)

嗨玛哈,我已经尝试过这个并且正在努力。

JavaScript:

<script type="text/javascript">

        function handleChange(cb) {
        var btn = document.getElementById('ButtonTest');
        if (cb.checked == true) {
            btn.disabled = true;
            alert('Checked True');
            return true;
        } else {
            alert('False');
            btn.disabled = false;
            return false;
        }
    }
    </script>

ASPX页码:

<div>
    <asp:CheckBox runat="server" ID="checkMe" title="Hey Check Me" name="Check Me" ClientIDMode="Static" onclick="handleChange(this)" AutoPostBack="false" Text="Check Me" />

    <asp:Button runat="server" ID="ButtonTest" title="Hey Check Me" ClientIDMode="Static" Text="Submit Button" OnClick="ButtonTest_Click" />
</div>

代码背后:

protected void ButtonTest_Click(object sender, EventArgs e)
{
    // Your Logic
}

但是复选框AutoPostBack="false"应该是假的。另外,整个页面将被重新加载和禁用属性将被删除。

希望它可能会有所帮助。,:)

答案 1 :(得分:0)

您可能需要一些ASP.NET页面生命周期的知识 您从代码隐藏启用了该按钮,它只是帮助生成一个响应文本到浏览器,JavaScript将在浏览器加载HTML(响应文本)后运行,您运行JavaScript代码并再次禁用该按钮。

您可以在禁用按钮脚本

后注册启动脚本以启用该按钮