Asp.net mvc 无法隐式转换类型';System.Collections.Generic.IEnumerable';至';System.Web.Mvc.ActionResult';
我正在使用ASP.NET MVC5标识,并尝试实现基于声明的身份验证 我得到以下错误:Asp.net mvc 无法隐式转换类型';System.Collections.Generic.IEnumerable';至';System.Web.Mvc.ActionResult';,asp.net-mvc,asp.net-identity,claims-based-identity,Asp.net Mvc,Asp.net Identity,Claims Based Identity,我正在使用ASP.NET MVC5标识,并尝试实现基于声明的身份验证 我得到以下错误: 无法隐式转换类型“System.Collections.Generic.IEnumerable”。您正在尝试将匿名类型的可枚举项作为ActionResult返回。通常,ActionResults希望您返回对传入模型的视图(razor模板)的引用: return View(model); 如果只想返回数据,则需要返回一个JsonResult return Json(new { Data = model },
无法隐式转换类型“System.Collections.Generic.IEnumerable”。您正在尝试将匿名类型的可枚举项作为
ActionResult
返回。通常,ActionResults希望您返回对传入模型的视图(razor模板)的引用:
return View(model);
如果只想返回数据,则需要返回一个JsonResult
return Json(new { Data = model }, JsonRequestBehavior.AllowGet);
两件事。您正在尝试将匿名类型的可枚举项作为
ActionResult
返回。通常,ActionResults希望您返回对传入模型的视图(razor模板)的引用:
return View(model);
如果只想返回数据,则需要返回一个JsonResult
return Json(new { Data = model }, JsonRequestBehavior.AllowGet);
如果它位于MVC控制器中,则应返回一个视图,该视图接受
IEnumerable
作为模型:
public ActionResult GetClaims()
{
var identity = User.Identity as ClaimsIdentity;
var claims = from c in identity.Claims
select new
{
subject = c.Subject.Name,
type = c.Type,
value = c.Value
};
return View(claims);
}
如果它位于api控制器中,则可以返回IHttpActionResult
public IHttpActionResult GetClaims()
{
var identity = User.Identity as ClaimsIdentity;
var claims = from c in identity.Claims
select new
{
subject = c.Subject.Name,
type = c.Type,
value = c.Value
};
return Ok(claims);
}
如果它位于MVC控制器中,则应返回一个视图,该视图接受
IEnumerable
作为模型:
public ActionResult GetClaims()
{
var identity = User.Identity as ClaimsIdentity;
var claims = from c in identity.Claims
select new
{
subject = c.Subject.Name,
type = c.Type,
value = c.Value
};
return View(claims);
}
如果它位于api控制器中,则可以返回IHttpActionResult
public IHttpActionResult GetClaims()
{
var identity = User.Identity as ClaimsIdentity;
var claims = from c in identity.Claims
select new
{
subject = c.Subject.Name,
type = c.Type,
value = c.Value
};
return Ok(claims);
}
您的方法的功能是什么?它是否返回视图?即,它需要
返回视图(声明)代码>(尽管您正在创建一个匿名对象,以便在视图中不起作用),或者您正在向ajax调用返回json?或者它只是您在其他地方使用的一种方法?您的方法是做什么的?它是否返回视图?即,它需要是返回视图(声明)代码>(尽管您正在创建一个匿名对象,以便在视图中不起作用),或者您正在向ajax调用返回json?或者它只是您在其他地方使用的一个方法?谢谢,我只是返回数据,这样Json方法就可以工作了。当返回JsonResult
时,匿名类型就可以了(只是不是在返回视图时)。谢谢,我只是返回数据,这样Json方法就可以工作了。当返回JsonResult
时,匿名类型就可以了(只是在返回视图时不这样做)如果使用api路径,返回具体类的IEnumerable
也是完美的选择Ok@jenson-按钮事件,除非具体类型实现了IHttpActionResult。public IEnumerable GetClaims()
就是我的意思。完全可以接受的web api方法。或者公共IEnumerable GetClaims()
如果您想返回anonymous@jenson-按钮事件我明白你的意思。是的,这很好。如果按照api路线,返回具体类的IEnumerable
也很好Ok@jenson-按钮事件,除非具体类型实现了IHttpActionResult。public IEnumerable GetClaims()
就是我的意思。完全可以接受的web api方法。或者public IEnumerable GetClaims()
如果您想返回anonymous@jenson-我明白你的意思。是的,很好。