wake-up-neo.com

Einen Postback erzwingen

Gibt es eine Möglichkeit, ein Postback im Code zu erzwingen? 

Ich möchte das Postback von einer Methode im c # -Code hinter meiner asp.net-Webanwendung erzwingen.

15
shaun.breach

Ein Postback wird nach einer Formularübergabe ausgelöst, daher hängt es von einer Clientaktion ab .. Eine Erklärung finden Sie hier: ASP.NET - Kann ein Postback vom Servercode ausgelöst werden?

und hier für eine Lösung: http://forums.asp.net/t/928411.aspx/1

9
mamoo

Sie können versuchen, auf dieselbe Seite umzuleiten.

Response.Redirect(Request.RawUrl);
8
live-love

Einfacher:

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "DoPostBack", "__doPostBack(sender, e)", true);
6
devilcius

Hier die Lösung von http://forums.asp.net/t/928411.aspx/1 wie von mamoo erwähnt - nur für den Fall, dass die Website offline ist. Hat gut für mich gearbeitet.

StringBuilder sbScript = new StringBuilder();

sbScript.Append("<script language='JavaScript' type='text/javascript'>\n");
sbScript.Append("<!--\n");
sbScript.Append(this.GetPostBackEventReference(this, "PBArg") + ";\n");
sbScript.Append("// -->\n");
sbScript.Append("</script>\n");

this.RegisterStartupScript("AutoPostBackScript", sbScript.ToString());
2
Undercover1989

Sie können ein datengebundenes Steuerelement wie Repeater oder ListView verwenden, es bei Bedarf erneut an eine Liste von Steuerelementeigenschaften binden und die Steuerelemente dynamisch generieren lassen.

Alternativ können Sie Response.Redirect(".") verwenden, um dieselbe Seite erneut zu laden.

1
Mihai

Nein, nicht vom Code hinterher. Ein Postback ist eine Anforderung, die von einer Seite auf dem Client an sich selbst auf dem Server mit der Methode Http POST initiiert wird. Auf der Serverseite können Sie eine Umleitung anfordern, dies wird jedoch eine HTTP-GET-Anforderung sein. 

1
Andy Rose

Sie können die von PostBack aufgerufene Methode über das Ereignis Page_Load manuell aufrufen:

public void Page_Load(object sender, EventArgs e)
{
    MyPostBackMethod(sender, e);
}

Wenn Sie jedoch meinen, dass die Page.IsPostBack-Eigenschaft ohne realen Post back auf true gesetzt werden kann, lautet die Antwort nein.

0
Shadow Wizard

Durch die Verwendung von Server.Transfer ("Your Current Page.aspx"); wir können dies leicht erreichen und es ist besser als Response.Redirect (); coz Server.Transfer () erspart Ihnen die Rundreise.

0
user3631880