Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    vb.net Evitare refresh dopo alert javascript

    Ciao,
    ho un dataset dove all'interno tramite un ciclo controllo se un valore è presente oppure no.

    Se presente faccio apparire un alert
    --------------------
    Response.Write("<script language='javascript'>alert('Esiste gia una anagrafica con il cod.fiscale o p.iva inserita')</script>")
    -----------------------

    Il problema è che quando vado a chidere l'altert la pagina diventa " sballata " a livello di impaginazione grafica.
    Non viene ricaricata del tutto ( infatti le textbox sono ancora valorizzate ) ma graficamente appunto viene modificata.
    Qualche suggerimento?
    Grazie ciao

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    se modifichi così, funziona?

    Me.ClientScript.RegisterStartupScript(Me.GetType, "alert", "alert('Esiste già un\'anagrafica con il cod.fiscale o p.iva inserita');", True)
    Pietro

  3. #3

    no niente

    Ciao,
    grazie della risposta, no niente è come prima.
    Sballa il css secondo me e anche la dimensione dei font è maggiore dopo l'errore.

    Misteri del .net???

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Nessun mistero, la response.write durante un flush della stessa response causa un probabile 'sballo'.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: no niente

    Originariamente inviato da Pinetto
    Ciao,
    grazie della risposta, no niente è come prima.
    Sballa il css secondo me e anche la dimensione dei font è maggiore dopo l'errore.

    Misteri del .net???
    Purtroppo so, per esperienza, che il problema non è nei misteri del .net, ma nel nostro codice sbagliato.

    Tanto per cominciare non si dovrebbe usare il Response.Write se non in debug rapido.
    Secondo, per iniettare codice javascript si può usare il codice che ti ho dato o qualcosa di simile.
    Se non ti funziona è a causa di altro codice che segue, che non hai mostrato.

    Poi, a dire la verità, non mi è tanto chiara neanche la domanda . Se provi a spiegare forse si può trovare una soluzione alternativa.
    Pietro

  6. #6
    Ciao,
    sicuramente è un problema del mio codice.
    Il response write è un refuso derivato dal caro vecchio classic asp ( che nostalgia..).

    Ecco il mio dataset dove ho lasciato tutte e due le risposte.

    codice:
    Dim orows1 As DS_clienti.clientiRow
            Using oDas As New DS_clientiTableAdapters.clientiTableAdapter
                oDas.FillByvericliente(otbs1, contfiscale, nomeso)
    
    
                If otbs1.Rows.Count > 0 Then
                  
      'Response.Write("<script language='javascript'>alert('Esiste gia una anagrafica con il cod.fiscale o p.iva inserita')</script>")
                    Me.ClientScript.RegisterStartupScript(Me.GetType, "alert", "alert('Esiste già un\'anagrafica con il cod.fiscale o p.iva inserita');", True)
    
                Else
                    Label1.Text = "ok"
                End If
            End Using
            ' Call pippo()
    Eventulmente ci metteri una bella modal jquery ma non sono molto bravo, al limite potrei usare una modalpopupextender

    Grazie per l'aiuto
    Ciao

  7. #7
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    il problema è l'apostrofo nel testo dello script: un'anagrafica

    prova cosi
    Me.ClientScript.RegisterStartupScript(Me.GetType, "alert", @"alert('Esiste già un\'anagrafica con il cod.fiscale o p.iva inserita');", True)

    occhio sia al carattere @ che all'escape sull'apostrofo.

    se non risolvi devi postare l'html della pagina che non funziona, magari non tutto ma solo la zona in cui viene renderizzato lo script.

    OT
    Non usare Response.Write. Quando pensi di aver bisogno di una cosa del genere usa il controllo Literal. Si tratta di un placeholder da piazzare dove vuoi nella pagina in cui puoi scriverci dell'html dentro.

  8. #8

    grazie

    rsdpzed,
    grazie del consiglio ecco la soluzione:

    Literal1.Text = "<SCRIPT language='javascript' type='text/javascript'>alert('finalmente funziona');</SCRIPT>"

    Spero possa essere utile a qualcuno
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.