Vielen Dank für Ihre Antwort, Sie haben einen guten Vorschlag gegeben, ich habe auch eine Lösung für dieses Problem, das ich teilen möchte, es funktioniert gut für mich. Weil mein Problem ist, versteckte Variablen und Server zu pflegen. Transfer, also habe ich meinen Code so gelegt. Ich habe 2 Schaltflächen eine innerhalb Update-Panel und eine andere außerhalb der Update-Panel, wenn im Update-Panel Schaltfläche Klick Ereignis wird dann wird es Datenbankoperationen und nach erfolgreichen db-Operationen wird es eine Java-Skript-Funktion von Server-Seite wie folgt aufrufen
protected void btnProceed_Click(object sender, EventArgs e)
{
//do your db operations
//After successful operations call java script
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "displayNote"," <script language='JavaScript'>onAsyncPostclick();</script>", false);
}
Java-Script-Code
<script type="text/javascript" language="javascript">
//ToDo: Used to call button on which we fire server.transfer
function onAsyncPostclick() {
var btnName = $get("<%=btnPostBack.ClientID%>").name;
__doPostBack(btnName, "");
}
</script>
In diesem JavaScript-Code I Postbacks Anruf an eine andere Taste gelegt haben, die außerhalb von upd aß Panel und dass i Klick-Ereignis der Schaltfläche am Brennen Server .transfer auf neue Seite wie diese
//Implemented for button Submit (outside of Update panel) click
protected void btnSubmit_Click(object sender, EventArgs e)
{
Server.Transfer("NewPage.aspx");
}
In der obigen Art und Weise i Server.Transfer auf Ajax-fähigen Postbacks Klick aufrufen können, und ich sparte mein Code ab Seite Anfrage-Manager Ausnahme. Ich denke, es ist eine Arbeit für das Problem, aber es funktioniert gut für meine Anforderungen.
Sie versuchen einen Server.Transfer innerhalb einer AJAX (UpdatePanel oder eine solche Klasse) Anfrage? –
ja Ich versuche einen Server.Transfer in einem AJAX (UpdatePanel). Gibt es eine Alternative zu Server.Transfer innerhalb eines AJAX (UpdatePanel), weil jedes Mal, wenn ich Seite Request Manager Ausnahme wegen Rendering einer anderen Seite HTML-Tag bekommen. –
Sie können die Seite im AJAX-Postback nicht übertragen/umleiten. Der AJAX erwartet, dass nur das Markup das dynamische Steuerelement ersetzt, nicht eine ganze Seite, damit Ihr Modell nicht funktioniert. Ersetzen Sie das UpdatePanel-Postback durch ein jQuery-Skript, wie [die Antwort auf diese Frage] (http://stackoverflow.com/a/1538548/1223642). –