none
Codice JavaScript eseguito come se fosse un Response.Write RRS feed

  • Domanda

  • Salve,

    ho un problema abbastanza fastidioso.

    In pratica ho usato la sintassi this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Test", "alert('Hello World')"); alla fine dell'evento di un controllo dinamico ed invece che mostrarmi il messaggio come mi aspettavo mi stampa alert('Hello World') in cima alla pagina come se fosse sstato scritto Response.Write("alert('Hello World')") e questo succede con qualsiasi codice JavaScript.

    Anche se non credo che possa essere rilevante volevo dirvi che la pagina viene aperta come un popup da un'altra pagina.

    Mi sapreste dire come mai succede questo?

    Grazie

    giovedì 21 febbraio 2013 06:56

Risposte

  • guarda bene nel metodo, perchè c'è un valore booleano che indica se racchiudere il tuo codice javascript da <script type="text/javascript">

    probabilmente non mettendolo di default è false.

    Quindi o racchiudi il tuo codice con l'indicazione di script, oppure guarda bene nel metodo .RegisterClientScriptBlock quel parametro (che adesso non mi ricordo bene come si chiama, cmq quello che fà è spiegato sopra)

    ciao

    • Contrassegnato come risposta y_chen giovedì 21 febbraio 2013 08:23
    giovedì 21 febbraio 2013 07:31
  • Dovresti mettere:

    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Test", "alert('Hello World')",true);

    In alternativa puoi utilizzare anche lo scriptmanager per esmpio in VB:

     Private Sub ShowAlert(ByVal message As String)
        ScriptManager.RegisterStartupScript(Page, Me.GetType(), "idAlert", "window.alert('" + message.Replace("'", "\'") + "')", True)
     End Sub


    Luca Congiu (congiuluc)
    Personal Blog: blogs.dotnetcode.it

    • Contrassegnato come risposta y_chen giovedì 21 febbraio 2013 08:23
    giovedì 21 febbraio 2013 08:11
    Moderatore

Tutte le risposte

  • guarda bene nel metodo, perchè c'è un valore booleano che indica se racchiudere il tuo codice javascript da <script type="text/javascript">

    probabilmente non mettendolo di default è false.

    Quindi o racchiudi il tuo codice con l'indicazione di script, oppure guarda bene nel metodo .RegisterClientScriptBlock quel parametro (che adesso non mi ricordo bene come si chiama, cmq quello che fà è spiegato sopra)

    ciao

    • Contrassegnato come risposta y_chen giovedì 21 febbraio 2013 08:23
    giovedì 21 febbraio 2013 07:31
  • Dovresti mettere:

    this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Test", "alert('Hello World')",true);

    In alternativa puoi utilizzare anche lo scriptmanager per esmpio in VB:

     Private Sub ShowAlert(ByVal message As String)
        ScriptManager.RegisterStartupScript(Page, Me.GetType(), "idAlert", "window.alert('" + message.Replace("'", "\'") + "')", True)
     End Sub


    Luca Congiu (congiuluc)
    Personal Blog: blogs.dotnetcode.it

    • Contrassegnato come risposta y_chen giovedì 21 febbraio 2013 08:23
    giovedì 21 febbraio 2013 08:11
    Moderatore
  • Caspita è vero, e pensare che ho usato quel metodo una marea di volte.

    Scusate, stupido errore di distrazione mio.

    giovedì 21 febbraio 2013 08:23