web-dev-qa-db-fra.com

Comment lancer une autre page Web aspx sur un clic de bouton?

J'ai une application asp.net, où l'utilisateur cliquerait sur un bouton et lancerait une autre page (dans la même application). Le problème auquel je suis confronté est que la page d'origine et la page nouvellement lancée doivent être lancées.

J'ai essayé response.redirect, mais cela a tendance à décharger la page d'origine.

Aucune suggestion?

12
Csharp

Ce bouton affiche la page actuelle tout en ouvrant en même temps OtherPage.aspx dans une nouvelle fenêtre de navigateur. Je pense que c'est ce que vous voulez dire avec ...the original page and the newly launched page should both be launched.

<asp:Button ID="myBtn" runat="server" Text="Click me" 
     onclick="myBtn_Click" OnClientClick="window.open('OtherPage.aspx', 'OtherPage');" />
29
Claudio Redi

Édité et corrigé (merci à Shredder)

Si vous voulez ouvrir un nouvel onglet, essayez ce qui suit:

protected void Page_Load(object sender, EventArgs e)
{
    this.Form.Target = "_blank";
}

protected void Button1_Click(object sender, EventArgs e)
{

    Response.Redirect("Otherpage.aspx");
}

Cela gardera la page d'origine pour rester ouverte et entraînera les redirections sur la page actuelle pour affecter le nouvel onglet uniquement.

-J

13
KreepN

Si vous souhaitez utiliser Code Behind, puis-je suggérer la solution suivante pour un asp: button -

Page ASPX

<asp:Button ID="btnRecover" runat="server" Text="Recover" OnClick="btnRecover_Click" />

Code derrière

    protected void btnRecover_Click(object sender, EventArgs e)
    {
        var recoveryId = Guid.Parse(lbRecovery.SelectedValue);
        var url = string.Format("{0}?RecoveryId={1}", @"../Recovery.aspx", vehicleId);

        // Response.Redirect(url); // Old way

        Response.Write("<script> window.open( '" + url + "','_blank' ); </script>");
        Response.End();
    }
6
riaandl

Tu devrais utiliser:

protected void btn1_Click(object sender, EventArgs e)
{
    Response.Redirect("otherpage.aspx");
}
2
Naqeeb Ahmed

Utilisez un bouton html et javascript? en javascript, window.location est utilisé pour modifier l'emplacement de l'URL de la fenêtre actuelle, tandis que window.open en ouvrira un nouveau

<input type="button" onclick="window.open('newPage.aspx', 'newPage');" />

Edit: Ah, je viens de trouver ceci: si l'ID de votre balise de formulaire est form1, définissez cet attribut dans votre bouton asp

OnClientClick="form1.target ='_blank';"
1
Nick Rolando