J'ai ce code dans la page.cx.cs Fichier:
void btnSessionCreate_Click(object sender, EventArgs e) { if (Session["user"] == null) { Session["user"] = Guid.NewGuid().ToString(); Response.Redirect("/"); } else if (Session["user"] != null) { string userBrowser = Request.UserAgent.ToString(); string sessionId = Session["user"].ToString(); Response.Write("<script>alert('" + sessionId + "\r\n" + userBrowser + "');</script>"); } }
3 Réponses :
Vous avez juste besoin d'échapper au \ code>, ils deviennent donc
\ code> lorsque sortie à JavaScript:
Response.Write("<script>alert('" + sessionId + @"\r\n" + userBrowser + "');</script>");
Utilisez le symbole ou p> @ code> ou double
\\ code> pour échapper au slash
Merci pour une bonne réponse, une autre petite question que j'ai pour vous sur la méthode Registerscript. Si je l'inscris, comment puis-je appeler alors à partir de n'importe quel endroit sur CodeBeHind? Merci!
Vous pouvez l'appeler n'importe où - Button_Click, page_Load, etc. Il insère un extrait JavaScript dans votre page et il prend effet immédiatement après la charge de votre page / rechargée. Toute fonction déclarée dans ce script doit être disponible pour votre page. Donnez-lui juste un essai et voyez comment ça fonctionne.
réponse.write ("alerte ('" + sessionId + "\ n" + userbrowser + "');"); "); p>
Cela fonctionnera bien dans ASP.NET P>
Vous ne devriez pas utiliser la réponse.Write à la sortie JavaScript. Mauvais design. Regardez sur
enregistrerstartupscript code>!
@epascarello Pourquoi ne devrais-je pas l'utiliser?
Réponse.write peut bousiller le flux et ce n'est pas fiable quand il sera envoyé. Utilisez les méthodes intégrées au code pour enregistrer JavaScript.
@epascarello et comment puis-je appeler le script enregistré à partir du codeBeHind? Et aussi, je ne veux pas l'enregistrer au démarrage? N'existe pas juste
regsiter code> sans extension de démarrage? Merci!
Lisez les docs dessus, cela l'explique avec des exemples.
@Epascarello comme sur: DotNetCurry.com/showarticle.aspx?id=274 Maître.page.clientcript.registerstartupscript () est également utilisé pour appeler ???