Kan en MVC Controller klasse har mer enn én IEnumerable?

stemmer
1

Ville det være mulig for meg å gjøre to LINQ søk og deretter gå tilbake resultatene av hvert som IEnumerable eller ville spørringene må kombineres, og hvordan vil du oppnå det?

Publisert på 11/01/2014 klokken 10:52
bruker
På andre språk...                            


1 svar

stemmer
5

Kontrolleren kan returnere mer enn én IEnumerable fra en handling.

Dette vil gjøres på følgende måte:

ViewModel

    public class FooModel
    {
        public List<Category> Categories { get; set; }
        public List<SubCategory> SubCategories { get; set; }
    }

    public class Category
    {
        public int Id { get; set; }
        public string Description { get; set; }
    }

    public class SubCategory
    {
        public int Id { get; set; }
        public string Description { get; set; }
        public int CategoryId { get; set; }
    }

Controller handling

    public ActionResult Index()
    {
        var model = new FooModel();
        var categories = new List<Category>();
        var subCategories = new List<SubCategory>();

        categories.Add(new Category { Id = 1, Description = "Cat 1" });
        categories.Add(new Category { Id = 2, Description = "Cat 2" });
        subCategories.Add(new SubCategory { Id = 1, Description = "Sub-Cat 1", CategoryId = 1 });
        subCategories.Add(new SubCategory { Id = 2, Description = "Sub-Cat 2", CategoryId = 2 });

        model.Categories = categories;
        model.SubCategories = subCategories.Where(s => s.Id == 1).ToList();


        return View(model);
    }

I de ovennevnte FooModel(syn-modell) inneholder to lister som er returnert fra styreanordningen Indexhandlingen.

Svarte 11/01/2014 kl. 12:17
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more