是否应创建可响应不同参数的通用操作或创建不带参数的不同操作(如果可能)?
无论调用哪个动作,返回类型将始终保持不变。不会有不同意见的情况等。
上述任何一种方法的缺点/优点是什么?
答案 0 :(得分:1)
使用参数是一种更好的方法,因为对于每个操作,您需要具有不同的视图。性能方面没有区别,但维护方面看起来多余,让两个动作做同样的事情并返回相同类型的视图。
例如,我将有一个操作并将其传递给类别名称,而不是针对每个类别执行操作
示例代码: -
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);
}