Ich bin in der Lage, eine Liste von Controller unten an Ansicht zurückzukehren:Wie man Json mit einer Liste von anderen Klassen zurückgibt?
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);
}
Aber wenn ich die Abfrageoperation in anderen Klassen tun will, und ich rufe die Klasse von FillSegment Aktion, wie sollte es zurückgeben?
Controller:
public ActionResult FillSegment(int siteid)
{
SegmentHelper segmenthelper = new SegmentHelper();
return Json(segmenthelper.FillSegment(siteid), JsonRequestBehavior.AllowGet);
}
segmenthelper Klasse:
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?
}
}
Sie wäre besser dran mit einem View-Modell mit den zwei Eigenschaften zu schaffen (und verwendet '.Select (x => new SomeModel {...});') und eine Sammlung des Modells zurück. –
Ändere 'FillSegment' den Rückgabetyp auf' dynamisch' (wenn die Helper-Klasse und der Controller in derselben Assembly sind) –