L'erreur que vous voyez est causée par votre page de contenu en quelque sorte d'essayer d'injecter le javascript pour créer la zone d'alerte en dehors du contrôle de contenu.
Une façon de faire cela devrait fonctionner est d'injecter le javascript au niveau de la page maître.
Pour ce faire, exposer une méthode que vous maîtrisez le code de la page behing comme ce qui suit:
public void ShowAlertMessage(String message)
{
string alertScript = String.Format("<Script Language='javascript'> alert('{0}');</script>", message);
Page.ClientScript.RegisterStartupScript(this.GetType(), "Key", alertScript, false);
}
Puis, à partir de la page de contenu que vous pouvez appeler cette méthode sur l'objet principal:
protected void UpdateProfile_Click(object sender, EventArgs e)
{
YourMasterPage master = (YourMasterPage) Master;
master.ShowMessage("Profile updated.");
}
Cette méthode a également l'avantage d'encapsuler votre logique MessageBox pour toutes vos pages de contenu.
Une mise en garde sur ce qui précède est que je ne peux pas pour la vie de me reproduire l'erreur que vous voyez, je l'ai essayé toutes les combinaisons de maître/balisage de contenu que je peux penser et ne peut pas obtenir l'erreur. Tous les autres exemples fournis ici dans les autres réponses fonctionnent heureusement pour moi.
Si i Utilisez la balise de script au sein de la méthode Response.write dans la page de contenu de la page principale .. il montre l'erreur "Seuls les contrôles de contenu sont autorisés directement dans une page de contenu qui contient des contrôles de contenu." –
@DevelopingChris - Je n'ai jamais eu de problème pour mettre de vraies balises dans ... – Damovisa