Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262

    [ASP.net] Funzione in JavaScript

    Salve amici
    Ho una funzione in javascript di questo tipo:
    Public Sub CountElements()

    Dim jscript As String = "<script language="javascript">" + vbCrLf + _
    "<!-- " + vbCrLf + _
    "function DeleteElements() {" + vbCrLf + _
    "for (var x=0; x < 5; x++)" + vbCrLf + _
    "Alert(x);" + vbCrLf + _
    "};" + vbCrLf + _
    "--> " + vbCrLf + _
    "</script>"
    If (Not Page.IsStartupScriptRegistered("ScriptCountElement s")) Then Page.RegisterStartupScript("ScriptCountElements", jscript)
    End If
    End Sub

    Poi nell'evento click di un pulsante....chiamo la sub CountElements che a sua volta mi implementa la funzione e me la mette nel codice hmtl.....però non mi appare la msgbox alter per cinque volte....in pratica non dovrebbe iterare il ciclo e farmi apparire per 5 volte la message box?
    Qualcuno sa dirmi come fare?

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    void CountElements()
    {
    	System.Text.StringBuilder sb = new System.Text.StringBuilder(1000);
    	sb.Append("<script type=\"text/javascript\">\r\n");
    	sb.Append("<!-- \r\n");
    	sb.Append("function DeleteElements()\r\n");
    	sb.Append("{\r\n");
    	sb.Append("\tfor (var x = 0; x < 5; x++)\r\n");
    	sb.Append("\t\talert(x);\r\n");
    	sb.Append("}\r\n");
    	sb.Append("var oldonload = window.onload;if (typeof window.onload != 'function') {window.onload = DeleteElements;}else {window.onload = function() {oldonload();DeleteElements();}}\r\n");
    	sb.Append("-->\r\n");
    	sb.Append("</script>\r\n");
    
    	if (!Page.IsStartupScriptRegistered("ScriptCountElements")) 
    		Page.RegisterStartupScript("ScriptCountElements", sb.ToString());
    }
    Pietro

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    ma devo implementarla in questo modo?
    Vedo che è in c#....come faccio in vb?
    GRAZIE

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    questo è l'html che devi riprodurre, magari in basic:
    codice:
    <script type='text/javascript'>
    <!-- 
    function DeleteElements()
    {
    	for (var x = 0; x < 5; x++) alert(x);
    }
    DeleteElements();
    -->
    </script>
    come vedi è alert e non Alert. Poi, la funzione DeleteElements(), deve anche essere pure richiamata

    Pietro

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    ok, funziona....grande
    Visto che sei così bravo......potresti darmi qualche altra indicazione?
    ora invece della alert.....dovrei passargli una label che ho nella pagina e incrementare il valore
    ad esempio nella alert come faccio a passare lblConta.text = X
    Ho fatto così e mi da errore:
    faccio la funzione ed invece della alert
    " alert(x)"
    devo passare la label che mi conta gli elementi e li incrementa a video
    "lblcount.text + " x)" + vbCrLf + _

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Devi solo ricordare che, per scrivere codice javascript dal server, non fai altro che comporre una stringa. Perciò, oltre ad unire più stringhe con & o +, puoi anche utilizzare:

    String.Format("stringa {0} stringa {1}", campo1, campo2.......

    nel tuo caso sarà all'incirca:

    s &= String.Format("for (var x = 0; x < {0}; x++) alert(x);", label1.text)

    Pietro

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    ma in questo caso esce sempre la msgbox alert?
    Mentre io dovrei fare che quando clicco sul pulsante a video dovrei vedere che la mia label si incrementa dei valori a video fino a 100

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    262
    Scusate ancora.Ho questa funzione in javascript
    "<script language=""javascript"">"
    function DeleteElements() {
    for (var x = 0; x < " & dsAccount.AccountView.Count & "; x++)
    document.getElementById(" & lblAccountsDelete.Text = " x);
    "};
    DeleteElements();
    </script>

    Ora la cosa che dovrei fare è visualizzare a video di tipo contatore il totale dei dati di un DB.
    Però non mi funziona...sapreste dirmi qualcosa?
    Il totale dei count è di 425 record...quindi i valori li prende ma non riesco a metterli nella label e fare il ciclo. mi da errore.

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.