Esempio AJAX: caricamento di una dropdown da un datatable

Semplice esempio in Vb.net (referenziando la dll di AJAX per .NET) che consente, lato client, di invocare, tramite AJAX, un metodo che restituisce un datatable e caricare con

esso una dropdown.

funzione lato server che ritorna una datatable:

<Ajax.AjaxMethod()> _
      Public Function GetCountry() As DataTable
        Dim dt As New DataTable
        Dim i As Int16

        With dt
            .Columns.Add(New DataColumn("codice"))
            .Columns.Add(New DataColumn("descrizione"))
        End With

        For i = 0 To 50
            Dim r = dt.NewRow

            With r
                .item("codice") = i
                .item("descrizione") = "des_" & i.ToString
            End With

            dt.Rows.Add(r)

        Next

        Return dt

    End Function

Ricordarsi di mettere nel Load della pagina

Ajax.Utility.RegisterTypeForAjax(GetType(testAJAX))

 

Codice HTML

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="testAJAX.aspx.vb" Inherits="TEST.testAJAX"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <title>testAJAX</title>
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <input onclick="Fill();" type="button" value="Carica Lista">
   <span id="dd" name="dd"></span>
  </form>
  <script language="javascript">
  
   function Fill()
   {
     var html = [];
     
     
     for(var i=0; i<testAJAX.GetCountry().value.Rows.length; i++)
      {
      v = testAJAX.GetCountry().value.Rows[i].codice
      t = testAJAX.GetCountry().value.Rows[i].descrizione
      html[html.length] = "<option value=\" + v + \">" + t + "</option>";
      }
     
     document.getElementById("dd").innerHTML = "<select id=\"sel\">" + html.join("") + "</select>";
   }
   

  </script>
 </body>
</HTML>

 

 

Faster DHTML in 12 Steps

Leggi Articolo

Implementing AJAX in ASP.NET

Semplici Articoli di introduzioni all'utilizzo di Ajax in .NET
1° Articolo
2° Articolo
non ho ancora avuto modo di provarlo ma appena avrò un po' di tempo mi metto sotto
«agosto»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910