ASPX
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$.ajax({
type: "POST",
url: "Default.aspx/GetCustomers",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
});
function OnSuccess(response) {
$("[id*=dlCustomers]").attr("border", "1");
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var customers = xml.find("Table");
var row = $("[id*=dlCustomers] tr:last-child").clone(true);
$("[id*=dlCustomers] tr:last-child").remove();
$.each(customers, function () {
var customer = $(this);
$(".CustomerID", row).html($(this).find("CustomerID").text());
$(".ContactName", row).html($(this).find("ContactName").text());
$(".City", row).html($(this).find("City").text());
$("[id*=dlCustomers]").append(row);
row = $("[id*=dlCustomers] tr:last-child").clone(true);
});
}
</script>
</head>
<body style ="font-size:10pt;font-family:Arial">
<form id="form1" runat="server">
<asp:DataList ID="dlCustomers" runat="server" RepeatLayout = "Table" BorderStyle = "Solid">
<ItemTemplate>
<b>Customer Name:</b> <asp:Label CssClass ="ContactName" runat="server" Text='<%# Eval("ContactName") %>'></asp:Label><br />
<b>Customer ID:</b> <asp:Label CssClass ="CustomerID" runat="server" Text='<%# Eval("CustomerID") %>'></asp:Label>
<b>City:</b> <asp:Label runat="server" CssClass ="City" Text='<%# Eval("City") %>'></asp:Label>
</ItemTemplate>
</asp:DataList>
</form>
</body>
</html>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.BindDummyRow();
}
}
private void BindDummyRow()
{
DataTable dummy = new DataTable();
dummy.Columns.Add("CustomerID");
dummy.Columns.Add("ContactName");
dummy.Columns.Add("City");
dummy.Rows.Add();
dlCustomers.DataSource = dummy;
dlCustomers.DataBind();
}
[WebMethod]
public static string GetCustomers()
{
string query = "SELECT top 10 CustomerID, ContactName, City FROM Customers";
SqlCommand cmd = new SqlCommand(query);
return GetData(cmd).GetXml();
}
private static DataSet GetData(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
return ds;
}
}
}
}