#c# #asp.net
#c# #asp.net
Вопрос:
Я хочу получить данные от контроллера MVC в анонимном типе, используя angularjs. Но вот проблема в том, чтобы получить этот путь и показать ошибку времени компиляции. Как мне написать код? ASP.Net MVC,
public JsonResult Get_AllEmployee()
{
using (EmployeeInfoContext Obj = new EmployeeInfoContext())
{
List<Employee> Emp = Obj.Employees.Select(e => new {
EmpId=e.EmpId,
EmpName = e.EmpName,
DeptId = e.DeptId,
CityId = e.CityId
}).ToList();
return Json(Emp, JsonRequestBehavior.AllowGet);
}
}
Комментарии:
1. Как следует из ошибки,
Emp
определяется как списокEmployee
, но вы пытаетесь поместить туда анонимный тип (new {}
) . Вам либо нужно изменить объявлениеEmp
(и использовать неявную типизацию, потому что вы используете анонимный тип), либо вам нужно фактически сопоставить его сEmployee
ним.2. Анонимный тип никогда не может быть равен конкретному типу. Используйте либо все анонимные, либо все конкретные, а не оба.
Ответ №1:
Вам либо 1. не нужен анонимный тип, либо 2. не следует пытаться присвоить его типу, которым он не является.
1.
public JsonResult Get_AllEmployee()
{
using (EmployeeInfoContext Obj = new EmployeeInfoContext())
{
List<Employee> Emp = Obj.Employees.ToList();
return Json(Emp, JsonRequestBehavior.AllowGet);
}
}
и 2.
public JsonResult Get_AllEmployee()
{
using (EmployeeInfoContext Obj = new EmployeeInfoContext())
{
var Emp = Obj.Employees.Select(e => new { //notice var here
EmpId=e.EmpId,
EmpName = e.EmpName,
DeptId = e.DeptId,
CityId = e.CityId
}).ToList();
return Json(Emp, JsonRequestBehavior.AllowGet);
}
}