使用Javascript禁用按钮时出现意外行为

时间:2012-11-18 01:41:15

标签: c# javascript internet-explorer webforms

我有一个页面属性

    private Boolean Status
    {
        get { return (Boolean)Session["st"]; }
        set { Session["st"] = value; }
    }

然后我在同一页面中有一个按钮(在更新面板内)

<asp:UpdatePanel ID="UpdatePanel4" runat="server" >
    <ContentTemplate>
        <asp:Button ID="btnSubmit" runat="server" Text="Submit" Width="150px"   
              OnClick="btnSubmit_Click" />
    </ContentTemplate>
</asp:UpdatePanel>

&安培;我已添加此代码,以加载页面以防止多次单击按钮

       btnSubmit.Attributes.Add
          ("onclick", "this.disabled=true;" + 
          Page.ClientScript.GetPostBackEventReference(btnSubmit, "").ToString());

如果我将会话属性(Status)设置为 true ,然后点击按钮btnSubmit,则会话属性设置为 false 自动,如果我删除禁用代码,它工作正常。

任何想法导致这种意外行为的原因是什么?


更新1 :只有 Internet Explorer 10 (Windows 8),Internet Explorer 8&amp;谷歌浏览器它工作正常....!


更新2

我在页面加载中有这段代码

if (!Page.IsPostBack)
{ 
    Status = false;
}

当我点击提交按钮时使用Chrome,它将其作为PostBack,因此它正常工作(不运行Status = false;),但使用IE提交点击未被识别为PostBack,因此它设置状态({{ 1}})在页面加载事件中。

为什么不同的浏览器在这种情况下表现不同?有没有办法克服这个问题?

0 个答案:

没有答案