<html>
<head>
<script>
function aAjaxFun(){
var aj = jQuery.ajax({
url: 'mService.asmx/aAjaxFun,
data: {
info: info
},
type: 'post',
dataType: 'text',
success: function (data) {
alert("保存成功!");
return true;
},
error: function () {
alert("保存失敗!");
return false;
}
});
}
function aAfterFun(){
alert(1);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="hfID" runat="server" Value="" />
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
<ContentTemplate>
<asp:Button ID="btn1" runat="server" Text="1" OnClick="btn1_Click" />
<asp:Button ID="btn2" runat="server" Text="2" OnClick="btn2_Click" />
<asp:Button ID="btn3" runat="server" Text="3" OnClientClick="return aAjaxFun()" />
<asp:Button ID="btn4" runat="server" Text="4" OnClick="btn4_Click" />
<asp:Repeater ID="rptList" runat="server" >
<ItemTemplate>
<asp:TextBox ID="tbValue" runat="server" Text="2"/>
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn1" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btn2" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btn4" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
LogManager.write();
}
protected void btn1_Click(object sender, EventArgs e)
{
SQLHelper.ExecSQL("insert into table values '1'");
LogManager.write();
}
protected void btn2_Click(object sender, EventArgs e)
{
int a = 1;
int count = SQLHelper.ExecSQL("insert into table1 values '"+a+"'");
if(count >0)
{
ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "sa", "aAfterFun()", true);
}
LogManager.write();
}
protected void btn4_Click(object sender, EventArgs e)
{
SQLHelper.ExecSQL("insert into table2 values '2'");
LogManager.write();
}
操作 依次點擊 btn1 btn2 btn3 btn4
js function aAfterFun()沒有執行
aAjaxFun有執行 成功結果
日志:
2019-07-26 19:33:34: Page_Load:2019/7/26 19:33:34
2019-07-26 19:33:38: Page_Load:2019/7/26 19:33:38
2019-07-26 19:33:38: btn1_Click:2019/7/26 19:33:38
2019-07-26 19:33:40: Page_Load:2019/7/26 19:33:40
2019-07-26 19:33:40: btn2_Click:2019/7/26 19:33:40
2019-07-26 19:33:41: Page_Load:2019/7/26 19:33:41
2019-07-26 19:33:42: Page_Load:2019/7/26 19:33:42
2019-07-26 19:33:42: btn4_Click:2019/7/26 19:33:42
若使用UpdateMode="Conditional"則日志最后面還多一條進Page_Load的
table1寫入1條記錄
若rptList有2條記錄: table2寫入3條記錄
若rptList有4條記錄: table2寫入5條記錄
不管是日志還是斷點都表明btn4_Click只執行了一次 唯獨table2寫入多條記錄不可思議
uj5u.com熱心網友回復:
最近發現可能是別的東西影響了 但是什么因素會造成這樣的影響呢
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/130332.html
標籤:C#
下一篇:分享一個效率工具的程式和源代碼
