Trying to render the Json returned data to kendo drop down list, but not rendering. Please find the code snippett. I am able to see the alert box. I tried JSON.parse(siteNameData), but no luck.
AJAX CALL
$.ajax({
url: '../Report/GetSitesofSelectedClient',
type: "GET",
cache: false,
datatype: "json",
data: { "selectedClientCode": selectedClientCode },
contentType: "application/json",
async: false,
success: function(siteNameData) {
alert('hello');
$("#siteNamesDropDown").kendoDropDownList({
dataTextField: "text",
dataValueField: "value",
template: $("#CheckboxTemplate2").html(),
datasource: siteNameData,
placeholder: "Select...",
select: function(e) {
e.preventDefault();
}
}).data("kendoDropDownList");
//PopulateSiteNamesDropDown(siteNamesReceived);
},
error: function(xhr, ajaxOptions, thrownError) {
ShowDialogError(xhr, 'High Chart Status Report');
}
});
CONTROLLER
public JsonResult GetSitesofSelectedClient(string selectedClientCode)
{
ViewBag.ShowReport = true;
var highChartModel = new HighChartViewModel();
var siteData = highChartModel.GetListOfSites(selectedClientCode);
return Json(new {siteData}, JsonRequestBehavior.AllowGet);
}
MODEL
public string GetListOfSites(string clientCode)
{
SiteNameList = _serviceSessionManager.GetSiteListForClient(clientCode);
listOfSiteNames = new List<SiteStatusReportModel>();
foreach (Site siteName in SiteNameList)
{
var siteNameInfo = new SiteStatusReportModel
{
text = siteName.SiteName,
value = siteName.SiteCode,
selected = false
};
listOfSiteNames.Add(siteNameInfo);
}
var siteNameJsonData = JsonHelper.ToJsonString(listOfSiteNames)
return siteNameJsonData;
}