【问题标题】:MVC Actions: Generic/Parameterised or Multiple ActionsMVC 操作:通用/参数化或多个操作
【发布时间】:2012-01-07 19:58:06
【问题描述】:

应该创建可以响应不同参数的通用动作还是创建不带参数的不同动作(如果可能)?

无论调用哪个操作,返回类型将始终保持不变。不会有不同意见等情况。

上述任何方法的缺点/优点是什么?

【问题讨论】:

    标签: c# asp.net-mvc model-view-controller routing


    【解决方案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);
        }
    

    【讨论】:

    • 问题是关于多个动作与带有参数而不是多个控制器的单个动作。
    • 就是这样......如果你检查我正在演示的代码。带有参数的单个操作,而不是很多。
    • 我错误地写了控制器来代替操作,很抱歉错字错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多