2009-09-11 7 views
0

Je suis en train de créer la chaîne suivante:erreur de compilation sur cette chaîne

<script runat="server" type="text/C#"> 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Parent.Page.ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type='text/javascript' langauage='javascript' src='test.js'></script>"); 
    } 
</script> 

encore que je reçois une erreur de compilation dans VS dire « Newline en constante »

+1

devrait être bon êtes-vous sûr que c'est cette ligne qui est le problème que vous pouvez le mettre dans le contexte –

+0

cette chaîne? est très bien dans mes tests Pourquoi ne pas utiliser ClientScriptManager? pour ajouter le script inclure. Sa solution beaucoup plus propre – skyfoot

+0

J'ai mis à jour ma question avec un plus grand contexte – burnt1ce

Répondre

1

Votre problème est le balise script fin

http://support.microsoft.com/kb/827420

Résoudre ce savoir:

".....<"+"/SCRIPT>" 

ou peut-être

".....<\/script>" 

utilisation ClientScriptManager au lieu et utiliser RegisterClientScriptInclude. De cette façon, vous n'avez besoin que du nom de fichier dans une chaîne.

ClientScriptManager.RegisterClientScriptInclude

ClientScriptManager scriptManager = new ClientScriptManager(); scriptManager.RegisterClientScriptInclude("filename.js"); 
+0

J'aime votre solution alternative en utilisant RegisterClientScriptInclude. =) – burnt1ce

-1
@"<script language="Javascript" src="/utility/thickbox/thickbox-custom.js"></script>" 
2
"<script type='text/javascript' langauage='javascript' src='test.js'></script>" 

Eh bien oui, vous avez chaîne contenant </script> dans un script <> élément. Cela ferme le < script extérieur>, de sorte que le code qui semble être à l'intérieur de votre script runat-serveur est composée:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Parent.Page.ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type='text/javascript' langauage='javascript' src='test.js'> 

Et comme l'erreur dit, qui contient une « chaîne sans guillemet se terminant

.

Essayez d'échapper aux personnages que l'autre bloc de script ne les voit pas comme le balisage.

"\x3Cscript type='text/javascript' src='test.js'>\x3C/script>" 
Questions connexes