Sie können einen clientseitigen "Hook" erhalten, wenn das Update-Fenster kurzzeitig ausgelöst wird. Das bedeutet, dass Sie die Textfelder zumindest vorübergehend deaktivieren können (oder eine Art "Bitte warten" -Benachrichtigung erhalten), während das Update-Fenster aktualisiert wird.
Das folgende Code-Schnipsel von ASP.NET/Javascript zeigt, wie die Aktualisierungspanel abzufangen und die Textfelder zu deaktivieren.
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<div>
<asp:UpdatePanel runat="server" ID="updatePane1">
<ContentTemplate>
<asp:TextBox runat="server" ID="textBox1" AutoPostBack="true" OnTextChanged="textBox_TextChanged" />
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel runat="server" ID="updatePane2">
<ContentTemplate>
<asp:TextBox runat="server" ID="textBox2" AutoPostBack="true" OnTextChanged="textBox_TextChanged" />
</ContentTemplate>
</asp:UpdatePanel>
<br />
</div>
</form>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitializeRequest);
function InitializeRequest(sender, args) {
if (args._postBackElement.id == 'textBox1' || args._postBackElement.id == 'textBox2') {
document.getElementById('textBox1').disabled = true;
document.getElementById('textBox2').disabled = true;
}
}
</script>
Ich weiß, das ist nicht genau das, was Sie ursprünglich für Fragen („ist es eine Möglichkeit, Postbacks mit Update Schlange“), aber der Nettoeffekt ist, dass es den Benutzer zwingt, ihre Anfragen in die Warteschlange einzureihen, so dass keine mehrere werden gleichzeitig bearbeitet. Sie können dies wahrscheinlich auch etwas eleganter ändern.
das ist, was ich getan habe. update panel ist ok für Massenoperationen (wie große Teile von HTML anzeigen oder große Form gleichzeitig absetzen). Es nervt für kleine, schnelle Postbacks zum Server. – Sumrak