MVC动作:通用/参数化或多动作

本文关键字:参数 动作 通用 MVC | 更新日期: 2023-09-27 18:15:51

应该创建可以响应不同参数的通用操作还是创建没有参数的不同操作(如果可能的话)?

返回类型将始终保持不变,无论调用哪个操作。不会有不同的观点等。

以上方法的缺点/优点是什么?

MVC动作:通用/参数化或多动作

使用参数是一种更好的方法,因为对于每个操作,您需要有不同的视图。性能方面没有区别,但维护方面,让两个操作做同样的事情并返回相同类型的视图似乎是多余的。

例如,我将有一个操作并将类别名称传递给它,而不是为每个类别都有一个操作

示例:-

public ActionResult Catalog(string id, int?page)
    {
        Category catalog = pe.Categories.Where(cat => cat.Name == id).Single();
        int pageIndex = page ?? 1;
        CatProView catProView = new CatProView
                                {
                                    Name = catalog.Name,
                                    SubCategories = catalog.SubCategories,
                                    PagedProducts = catalog.Products.ToPagedList(pageIndex, PageSize)
                                };
        return View(catProView);
    }