Terwijl je bij Ajax.Net van Michael Schwarz heel wat programmeerwerk moet doen voor de client, en vervelende effecten hebt bij PostBacks, gaat Anthem.net een stap verder.
De integratie met Visual Studio is ook perfect, je kan heel eenvoudig een nieuwe tab Anthem in de toolbox aanmaken en via Choose Items... naar de Anthem.dll verwijzen, je hebt meteen een waaier aan Anthem-Controls ter beschikking.
En als klapstuk is Anthem volledig open source en gratis.
CREATE PROCEDURE Categorieen AS SELECT cat_id, categorie FROM categorie ORDER BY categorie GO CREATE PROCEDURE ArtikelUitCategorie @CatID smallint AS SELECT artikel_id, artikel, omschrijving, verkoopprijs FROM artikel WHERE cat_id = @CatID ORDER BY artikel
... using System.Data.SqlClient; public static class DAL { public static DataTable GetCategorie() { SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SpionshopData"].ConnectionString); SqlCommand myCommand = new SqlCommand("Categorieen", myConnection); myCommand.CommandType = CommandType.StoredProcedure; myConnection.Open(); SqlDataReader rdr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); DataTable cat = new DataTable(); cat.Load(rdr); return cat; } public static DataTable GetArtikel(int categoryID) { SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SpionshopData"].ConnectionString); SqlCommand myCommand = new SqlCommand("ArtikelUitCategorie", myConnection); myCommand.CommandType = CommandType.StoredProcedure; SqlParameter parameterCategoryID = new SqlParameter("@CatID", SqlDbType.Int, 4); parameterCategoryID.Value = categoryID; myCommand.Parameters.Add(parameterCategoryID); myConnection.Open(); SqlDataReader rdr = myCommand.ExecuteReader(CommandBehavior.CloseConnection); DataTable dt = new DataTable(); dt.Load(rdr); return dt; } }
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings>
<add name="SpionshopData"
providerName="System.Data.SqlClient"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Spionshop.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"/>
</connectionStrings>
</configuration>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LBcat.DataSource = DAL.GetCategorie();
LBcat.DataTextField = "categorie";
LBcat.DataValueField = "cat_id";
LBcat.DataBind();
}
}
protected void LBcat_SelectedIndexChanged(object sender, EventArgs e)
{
DGart.DataSource = DAL.GetArtikel(Convert.ToInt32(LBcat.SelectedItem.Value));
DGart.DataBind();
}
<script type="text/javascript">
function Anthem_PreCallBack()
{
window.status = 'Data opvragen, gelieve te wachten...';
}
function Anthem_PostCallBack()
{
window.status = '';
}
</script>
| Site | Beschrijving |
|---|---|
| Sourceforge | Home van Anthem.Net bij sourceforge |
| Anthem.Net Forum | Forum over Anthem.Net, of wat dacht je :) |
| Over It. | Weblog van de maker van Anthem.Net: Jason Diamond |
| Codeproject | Artikel basisgebruik Anthem.Net bij codeproject |
| Meer tutorials: |
| leer ook: | html | | xhtml | | css | | asp | | asp.net | | c# | | ado.net | | linq | | ajax | | java | | javascript |