错后我有一个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