Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856

    Webmethod con parametri da JS

    Devo chiamare un webmethod passando dei parameteri da una funzione JS.
    Il webmethod fa un update di un record di un db.

    Questo è il webmethod:
    codice:
    <System.Web.Script.Services.ScriptMethod(), System.Web.Services.WebMethod()> 
    Public Shared Function correggi(ByVal recordid As Integer) As Boolean
        Dim risultato As Boolean = false
        Try
          Dim cnx = New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("OMAP").ConnectionString)
          Using cnx
            cnx.Open()
            Dim strsql = "Update tabella set... WHERE ID=" & recordid
            Dim cmd = New SqlCommand(strsql, cnx)
            if cmd.ExecuteNonQuery()>0 then risultato = true
          End Using
    
        Catch ex As Exception
          risultato = False
    
        End Try
        Return risultato
      End Function

    Il JS deve evidentemente passare l'ID del record da modificare... l'ho scritto così (può essere che il problema sia qui):

    codice:
    function rimuovi(pid) {
            alert('Sto per eliminare');
            $.ajax({
                type: "POST",
                url: "myfunx.aspx/correggi",
                data: pid,
                success: function (output) {
                    alert("Record " + pid + " rimosso");
                },
                error: function (errormsg) {
                    alert(errormsg.responseText);
                }
            });
        }

    .... dovrebbe mandare alla pagina con il webmethod, fare quello che deve fare e darmi un messaggio di errore o di successo.
    Succede invece che entra nella funzione rimuovi(pid) perchè parte l'alert 'Sto per eliminare', compare anche l'alert 'Record xxx rimosso' come se l'operazione fosse stata eseguita ma in realtà non viene rimosso niente dal db....

    Purtroppo non riesco a farlo andare in debug, o meglio mi esce dal debug col messaggio "Eccezione non gestita di tipo 'System.StackOverflowException' in mscorlib.dll" quando finisce di caricare il codebehind e passa alla visualizzazione del webform, per cui non completa neanche il caricamento della pagine e non riesco a capire dove si pianti.

    Suggestions?
    Ultima modifica di djciko; 29-08-2018 a 14:39
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    x
    Ultima modifica di supermac; 29-08-2018 a 14:53
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    a inventarsi le sintassi si incorre anche in questi problemini :-)
    codice:
    ...
    url: "myfunx.aspx/correggi",
     contentType: "application/json;charset=utf-8",
     data: "{'recordid':" + pid + "}",
     dataType: "json",
    ...
    così funge.
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    i tuoi monologhi rimarranno nella storia del forum.

  5. #5
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,856
    LOL
    Tra qualche generazione, gli archeologi digitali entreranno in queste pagine-catacomba e leggendo i miei post trarranno conclusioni sulla psicologia triste e solitaria dei primi (pseudo)programmatori, quando ancora il codice era scritto da esseri umani... :-)
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.