web-dev-qa-db-fra.com

Forcer une publication

Y a-t-il un moyen de forcer une publication dans le code? 

Je cherche à forcer la levée d'un postback à partir d'une méthode dans le code c # derrière mon application web asp.net.

15
shaun.breach

Une publication est déclenchée après la soumission d'un formulaire, elle est donc liée à une action du client ........ Regardez ici pour une explication: ASP.NET - Est-il possible de déclencher une publication à partir du code serveur?

et voici une solution: http://forums.asp.net/t/928411.aspx/1

9
mamoo

Vous pouvez essayer de rediriger vers la même page.

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

Plus simple:

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

Voici la solution de http://forums.asp.net/t/928411.aspx/1 telle que mentionnée par mamoo - juste au cas où le site web serait déconnecté. A bien fonctionné pour moi.

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

Vous pouvez utiliser un contrôle lié aux données tel que Repeater ou ListView, le lier à une liste de propriétés de contrôle si nécessaire et le laisser générer les contrôles de manière dynamique.

Vous pouvez également utiliser Response.Redirect(".") pour recharger la même page.

1
Mihai

Non, pas de code derrière. Une publication est une demande initiée par une page du client sur le serveur à l'aide de la méthode Http POST. Du côté du serveur, vous pouvez demander une redirection mais la requête sera HTTP GET. 

1
Andy Rose

Vous pouvez appeler manuellement la méthode appelée par PostBack à partir de l'événement Page_Load:

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

Mais si vous voulez dire que si la propriété Page.IsPostBack est définie sur true sans publication réelle, la réponse est non.

0
Shadow Wizard

En utilisant Server.Transfer ("Your Current Page.aspx"); nous pouvons facilement y parvenir et c'est mieux que Response.Redirect (); coz Server.Transfer () vous fera économiser l'aller-retour.

0
user3631880