$(document).ready(function () {
var param = { action: 'AllCategories' };
var actionData = JSON.stringify(param);
$.ajax({
url: "AjaxHandler.ashx",
data: { action: 'AllCategories' },
dataType: '',
success: SuccessCall_AJAXCall_Category
}); });
AjaxHandler.ashx
case "AllCategories":
DataSet dsCategories = TaskUtilities.GetCategories();
if (dsCategories != null && dsCategories.Tables.Count > 0)
{
dsCategories.Tables[0].TableName = "Tbl_Category";
context.Response.Write(Serialize.ToJson(dsCategories.Tables[0]));
}
break;
Serialize.cs
public static string ToJson(DataTable dtFilteredData)
{
var jsonData = new StringBuilder();
try
{
string[] tmp = dtFilteredData.TableName.Split('_');
jsonData.Append("\"tbl_" + tmp[1].ToLower() + "\":[");
foreach (DataRow row in dtFilteredData.Rows)
{
jsonData.Append("{");
foreach (DataColumn col in dtFilteredData.Columns)
{
jsonData.Append("\"" + col.ColumnName.ToLower() + "\":\"");
if (col.DataType.ToString() == "System.DateTime")
jsonData.Append(Convert.ToDateTime(row[col]).ToString("dd MMM yyyy hh:mm:ss t\\M") + "\",");
else
{
jsonData.Append(row[col].ToString().Replace("\\", "\\\\").Replace("\"", "\\\"") + "\",");
}
}
string tmp1 = jsonData.ToString();
jsonData.Remove(0, tmp1.Length);
jsonData.Append(tmp1.Substring(0, tmp1.LastIndexOf(",", System.StringComparison.Ordinal)));
jsonData.Append("},");
}
string tmp2 = jsonData.ToString();
jsonData.Remove(0, tmp2.Length);
jsonData.Append(tmp2.Substring(0, tmp2.LastIndexOf(",", System.StringComparison.Ordinal)));
jsonData.Append("]");
}
catch
{
return string.Empty;
}
return jsonData.ToString();
}
}
jScript.cs
function SuccessCall_AJAXCall_Category(data) {
var ddl = $('select[id$=ddlCategories]');
ddl.html("");
var options = '';
var jsval = $.parseJSON('{' + data + '}');
var tabCategory = jsval.tbl_category;
for (var i = 0; i < tabCategory.length; i++) {
options += '<option value="' + tabCategory[i].ntaskcategoryid + '">' + tabCategory[i].strcategorytext + '</option>';
}
ddl.html(options);
};