設定した Html ボタンがありますrunat="server"
。このボタンをクリックすると、ボタン コードが 2 回実行されることがありますが、それは Chrome ブラウザーで実行している場合のみです。ボタンが更新パネルにあるため、これを期待できることはわかっていますが、Chrome で実行すると、値が常に同じであるため (2 回目の実行でも)、非同期ポストバックを判断できません。
IsPostBack = True
IsCallback = False
ScriptManager.GetCurrent(Me).IsInAsyncPostBack = True
ScriptManager1.IsInAsyncPostBack = True
aspx ページは次のとおりです。
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<button id="btnHtml1" runat="server" class="toolStripButton"><img src="../Images/ManLate32.png" alt="[Man Late]"/><br />Html Button</button>
<button id="btnHtml2" runat="server" class="toolStripButton"><img src="../Images/PayCategory32.png" alt="[Pay Category]"/><br />Html Button 2</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
私のコードビハインド:
Public Class ChromeBug
Inherits System.Web.UI.Page
Private Sub btnHtml1_Click(sender As Object, e As System.EventArgs) Handles btnHtml1.ServerClick
Globals.SubmitCount += 1
Debug.WriteLine(String.Format("Submit Count:{0} IsPostBack:{1} IsCallBack:{2} IsAsyncPostBack:{3} IsInAsyncPostBack2:{4}", Globals.SubmitCount, IsPostBack, IsCallback, ScriptManager.GetCurrent(Me).IsInAsyncPostBack, ScriptManager1.IsInAsyncPostBack.ToString))
End Sub
Private Sub btnHtml2_Click(sender As Object, e As System.EventArgs) Handles btnHtml2.ServerClick
Globals.SubmitCount += 1
Debug.WriteLine(String.Format("Submit Count:{0} IsPostBack:{1} IsCallBack:{2} IsAsyncPostBack:{3} IsInAsyncPostBack2:{4}", Globals.SubmitCount, IsPostBack, IsCallback, ScriptManager.GetCurrent(Me).IsInAsyncPostBack, ScriptManager1.IsInAsyncPostBack.ToString))
End Sub
End Class
Webkit javascript ファイルを追加しようとしましたが、効果がないようです。また、これは空の src 値が原因であると多くの場所で読みましたが、これらはありません。