錯後我有一個asp.net網站來管理項目。我意識到,當我點擊下一個項目的速度非常快時,它通常會用第一個項目的數據覆蓋所有下一個項目。我之前調用了一種方法來保存下一個項目。我也使用會話變量作爲項目的ID。ASP.NET會話變量是多個點擊事件快速
編輯:
它看起來像服務器堆棧的保存方法和IDS,但保持在控制的第一個項目的值
我說得對不對?
這是調用服務器方法來獲取ID,並將其設置在隱藏字段阿賈克斯:
function NextClick() {
var tabvalue = $("#<%=TabsToFocus.ClientId%>").val();
$.ajax(
{
type: "POST",
url: "Projet.aspx/NextProj",
data: "{tab:'" + tabvalue + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(d) {
if (d.d != "False") {
$("#<%=hid_selProjetID.ClientID%>").val(d.d);
var btn = $("#<%=btnClickLstProjet.ClientID%>");
fillHidden();
btn.click();
}
}
});
}
而且btn.click()調用服務器端的這個方法保存
Private Sub Button1_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClickLstProjet.ServerClick
If HttpContext.Current.Session.Item("isUser") IsNot Nothing AndAlso HttpContext.Current.Session.Item("isUser") = True Then
If HttpContext.Current.Session.Item("curProjetID") IsNot Nothing Then
btnSaveIndicateurs_Click()
btnSaveEnTete_Click()
btnSaveGen_Click()
btnSavePlanif_Click()
End If
End If
HttpContext.Current.Session.Item("curProjetID") = hid_selProjetID.Value
Response.Redirect("Projet.aspx")
End Sub
謝謝
顯示您的代碼處理單擊事件並設置會話變量的位置。 – 2012-02-29 19:36:17
1秒鐘即將到來。我試圖讓它更易讀,更簡單。我的代碼是在法國 – Marc 2012-02-29 19:50:47
@Tim Schmelter更新 – Marc 2012-02-29 20:01:59