单击按钮后,IsPostBack始终为false

时间:2013-10-21 09:38:42

标签: asp.net postback ispostback

在我的网页onLoad()函数上,我按以下方式禁用页面上的所有控件

var form = document.getElementById("form1");
var elements = form.elements;
for (var i = 0, len = elements.length; i < len; ++i) {
    elements[i].disabled = true;
}
document.getElementById('btnReactivate').disabled = false;

我需要在页面上启用一个按钮(上面的btnReactivate)。我遇到的问题是,无论何时单击按钮并进入Page_Load事件Page.IsPostback始终为false并且后面的代码中的onclick事件也不会触发。按钮已创建

<asp:Button runat="server"  ID="btnReactivate" Text="btnReactivate" onclick="btnReactivate_Click" width="80px" meta:resourcekey="btnReactivateResource1"  />

和事件处理程序如此

protected void btnReactivate_Click(object sender, EventArgs e)
{}

可能还值得一提的是,我尝试过几种不同的方式禁用表单元素,包括在Input控件中循环而不是所有元素

1 个答案:

答案 0 :(得分:3)

我认为这是因为禁用的控件不会回发到服务器(从而阻止检测回发)。

你应该制作控件Readonly。或者在发布之前重新启用客户端。

请参阅http://www.w3.org/TR/html401/interact/forms.html#adef-disabled

  

禁用的控件无法成功。

http://www.w3.org/TR/html401/interact/forms.html#adef-readonly

  

只读元素可能会成功。