Domanda

Ho una pagina che include JavaScript che ho solo voglia di correre in certe condizioni. Per fare questo ho messo gli script in un asp: segnaposto

Questo sembra in realtà per il lavoro, ma quando si esegue un debug sulla pagina ottengo il seguente avviso.

Elemento 'segnaposto' non è un elemento conosciuto. Ciò può verificarsi se v'è un errore di compilazione nel sito Web o il file web.config manca.

Se mi muovo i segnaposto nel corpo della pagina l'avvertimento va, ma questo significa che sono rimasto con gli script nel corpo che voglio anche evitare. Qualcuno ha qualche suggerimenti sulle migliori prassi per questo scenario ?? grazie

Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)

dim lt as new Literal()
lt.text = "<script type='text/javascript' src='scripts/pageLoadAnimations.js'></scr" & "ipt>"
me.Header.Controls.Add(lt)

End Sub
È stato utile?

Soluzione

È possibile includere il file JS direttamente dal codice dietro:

If (some condition is true) Then
   Page.ClientScript.RegisterClientScriptInclude("jQuery", "jquery-version.js")
End If

Altri suggerimenti

Un paio di modi che si adattano alle vostre esigenze sono:

In primo luogo, si potrebbe cambiare il tag <head> a <head id="header" runat="server"> allora questo consente di aggiungere in modo dinamico qualsiasi cosa in esso, per es.

dim lt as new Literal()   
lt.text = "<script type='text/javascript' src='pathtojavascriptfile'></script>"  
me.Header.Controls.Add(lt)

Oppure si potrebbe creare una stringa pubblica sulla tua pagina, poi bastone il javascript in questo.

Public _JS come stringa

Load

_JS = "alert('here');" ' Or what ever your javascript is

ASPX pagina

<head>
    <script type="text/javascript" src="jquery-version.js"></script>
    <script type="text/javascript">
       $().ready(function(){
          <%=(me._JS) %>
       });
    </script>
</head>

Si potrebbe considerare esaminando la ClientScriptManager. Questo vi permetterà di iniettare script nell'intestazione correttamente utilizzando qualsiasi condizioni di cui avete bisogno.

Script Compreso personalizzato client nelle pagine ASP.NET
ClientScriptManager Classe

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top