【发布时间】:2016-03-21 10:36:49
【问题描述】:
我可以从下面的控制器返回一个列表来查看:
public ActionResult FillSegment(int siteid)
{
var segment = db.Segment.Where(c => c.SiteID == siteid).Select(x => new
{
SegmentID = x.SegmentID,
SegmentName = x.SegmentName
});
return Json(segment, JsonRequestBehavior.AllowGet);
}
但是如果我想在其他类中进行查询操作,并且我从 FillSegment Action 中调用该类,它应该如何返回?
控制器:
public ActionResult FillSegment(int siteid)
{
SegmentHelper segmenthelper = new SegmentHelper();
return Json(segmenthelper.FillSegment(siteid), JsonRequestBehavior.AllowGet);
}
segmenthelper 类:
public List<string> FillSegment(int siteid)
{
using (DBConnection db = new DBConnection())
{
var segment = db.Segment.Where(c => c.SiteID == siteid).Select(x => new
{
SegmentID = x.SegmentID,
SegmentName = x.SegmentName
});
return segment.ToList(); <-- Cannot convert generic list to generic list?
}
}
【问题讨论】:
-
您最好使用这两个属性创建一个视图模型(并使用
.Select(x => new SomeModel { ... });)并返回模型的集合。 -
将
FillSegment的返回类型更改为dynamic(如果助手类和控制器在同一个程序集中)
标签: c# json linq class asp.net-mvc-4