Created an application with Telerik Kendo UI or Asp.Net Core 2.0 controls. We used some controls which work perfectly in development. Locally we are able to run the same code without error in Visual Studio 2017, but after publishing in local IIS it gives below error( see attached image).
Error : - "http://localhost:91/Master/StateMaster/GetStateList 404 (Not Found)".
While checking the error found that there only Read method (may be due to '[DataSourceRequest]DataSourceRequest' parameter) of a grid cannot call ( action method is perfectly called like in below code 'GetRecordStatusList()')
Our controller
[Area("Master")]
public class StateMasterController : Controller
{
private IAllRepository<StateMaster> iAllStateRepository;
public IActionResult StateMaster()
{
List<SelectListItem> statusList = new List<SelectListItem>() {
new SelectListItem{Text = "Active", Value = "1" },
new SelectListItem{Text = "Inactive", Value = "2" }
};
ViewData["Status"] = statusList;
HttpContext.Session.SetInt32("UserId", 1);
HttpContext.Session.SetString("UserName", "Admin");
ViewBag.UserName = HttpContext.Session.GetString("UserName");
return View();
}
//This action method is not called in published-code
public ActionResult GetStateList([DataSourceRequest]DataSourceRequest request)
{
this.iAllStateRepository = new StateMasterRepository();
var result = iAllStateRepository.GetModelList();
var dsResult = result.ToDataSourceResult(request);
return Json(dsResult);
}
public JsonResult GetRecordStatusList()
{
List<SelectListItem> statusList = new List<SelectListItem>() {
new SelectListItem{Text = "Active", Value = "1" },
new SelectListItem{Text = "Inactive", Value = "2" }
};
return Json(statusList);
}
}
Error : - "http://localhost:91/Master/StateMaster/GetStateList 404 (Not Found)".
While checking the error found that there only Read method (may be due to '[DataSourceRequest]DataSourceRequest' parameter) of a grid cannot call ( action method is perfectly called like in below code 'GetRecordStatusList()')
Our controller
[Area("Master")]
public class StateMasterController : Controller
{
private IAllRepository<StateMaster> iAllStateRepository;
public IActionResult StateMaster()
{
List<SelectListItem> statusList = new List<SelectListItem>() {
new SelectListItem{Text = "Active", Value = "1" },
new SelectListItem{Text = "Inactive", Value = "2" }
};
ViewData["Status"] = statusList;
HttpContext.Session.SetInt32("UserId", 1);
HttpContext.Session.SetString("UserName", "Admin");
ViewBag.UserName = HttpContext.Session.GetString("UserName");
return View();
}
//This action method is not called in published-code
public ActionResult GetStateList([DataSourceRequest]DataSourceRequest request)
{
this.iAllStateRepository = new StateMasterRepository();
var result = iAllStateRepository.GetModelList();
var dsResult = result.ToDataSourceResult(request);
return Json(dsResult);
}
public JsonResult GetRecordStatusList()
{
List<SelectListItem> statusList = new List<SelectListItem>() {
new SelectListItem{Text = "Active", Value = "1" },
new SelectListItem{Text = "Inactive", Value = "2" }
};
return Json(statusList);
}
}