Errore di compilazione su questa stringa
-
05-07-2019 - |
Domanda
Sto cercando di creare la seguente stringa:
<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>
ma ricevo un errore di compilazione in VS che dice " Newline in costante "
Soluzione
Il tuo problema è il tag di script di fine
http://support.microsoft.com/kb/827420
Risolvilo con:
".....<"+"/SCRIPT>"
o forse
".....<\/script>"
Utilizzare invece ClientScriptManager e utilizzare RegisterClientScriptInclude. In questo modo devi solo avere il nome del file in una stringa.
ClientScriptManager.RegisterClientScriptInclude
ClientScriptManager scriptManager = new ClientScriptManager(); scriptManager.RegisterClientScriptInclude("filename.js");
Altri suggerimenti
"<script type='text/javascript' langauage='javascript' src='test.js'></script>"
Beh, sì, hai una stringa contenente < / script > all'interno di < script > elemento. Questo chiude lo & Lt; script & Gt ;, quindi il codice che appare all'interno dello script runat-server è solo:
protected void Page_Load(object sender, EventArgs e)
{
Parent.Page.ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type='text/javascript' langauage='javascript' src='test.js'>
E come dice l'errore, che contiene una " stringa senza virgolette doppie terminanti.
Prova a sfuggire ai caratteri in modo che l'altro blocco di script non li veda come markup:
"\x3Cscript type='text/javascript' src='test.js'>\x3C/script>"
@"<script language="Javascript" src="/utility/thickbox/thickbox-custom.js"></script>"