Question

Je suis en train d'enregistrer actuellement un appel de fonction JS à partir d'une page .NET qui appelle simplement une petite fonction sur la page .aspx qui fermera la fenêtre.

Le code RegisterClientScriptBlock est comme ceci:

Page.ClientScript.RegisterClientScriptBlock (typeof(Page), "closeBox", "<script type='text/javascript'>closeBox();</script>");

Ce genre de chose fonctionne ailleurs dans l'application sur différentes pages. Cependant, dans ce cas, je reçois une erreur d'exécution JS: Erreur: attendu « / » et quand je debug, bien sûr le javascript inséré est:

<script type='text/javascript'>closeBox();<

Comme vous pouvez le voir, il n'a pas ajouté le / script> pour une raison! J'ai essayé de laisser les balises et moi-même utilisé:

Page.ClientScript.RegisterClientScriptBlock (typeof(Page), "closeBox", "closeBox();", true);

mais avec les mêmes résultats.

J'ai aussi essayé RegisterStartupScript en vain.

Quelqu'un d'autre rencontré avant? Toutes les idées sur ce qui cause et sur la façon de résoudre ce problème?

Était-ce utile?

La solution 3

L'erreur est avéré être quelque chose de complètement différent.

Autres conseils

Je ne suis pas sûr si c'est exactement la même chose (ma mémoire n'étant ce qu'elle était autrefois) mais je pense que je l'ai frappé un problème similaire dans le passé. La solution était de mettre des terminaisons de ligne entre les différentes parties du script, i.e..

Page.ClientScript.RegisterClientScriptBlock (typeof(Page), "closeBox", "<script type='text/javascript'>\n\rcloseBox();\n\r</script>");

Où était ce RegisterClientScriptBlock? Était-ce dans un élément <script runat="server">?

Dans ce cas, l'analyseur ASPX verra le </script> dans votre C # chaîne littérale comme étant la fin de l'élément script englobante et arrêter là. Si vous voulez mettre la séquence </script> dans un <script> (et cela vaut pour JavaScript normale aussi) vous devez échapper à briser la séquence. Une bonne façon est:

"\x3C/script"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top