我有一个页面属性
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}})在页面加载事件中。
为什么不同的浏览器在这种情况下表现不同?有没有办法克服这个问题?