In this article I will explain how to bind dropdownlist using json data in asp.net with an example. On page load it attends to featch AJAX data from URL. Upon success, it fills product items based on the ajax call’s result.
HTML page:
<select id="cboProduct">
</select>
$(document).ready(function () {
$(".errorBlockMain").hide();
$.ajax({
type: 'POST',
url: '@Url.Action("BindProduct ", "Products", new { area = "Admin" })',
data: "{}",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
$('#cboProduct').empty();
var inc = 0;
$.each(data, function (value) {
$("[id$='cboProduct']").append($("<option></option>").val(data[inc].ProductId).html(data[inc].Name));
inc = inc + 1;
});
},
error: function (xhr, ajaxOptions, thrownError) {
$(".errorBlockMain").html(xhr.responseText);
$(".errorBlockMain").show();
}
});
});
server Side:
[HttpPost]
public JsonResult BindProduct()
{
ProductItems mProductItems = (ProductItems) ProductItems.LoadListProduct ((string)HttpContext.Session["DBConnector"], "SELECT * FROM Product order by Product Idasc");
return Json(mProductItems, JsonRequestBehavior.AllowGet);
}