如何使用Controller的特定参数

时间:2013-06-14 19:31:15

标签: c# asp.net-mvc asp.net-mvc-4 razor

目标

将要约视为控制人中的类别。

问题

我有一个名为ProductsController的控制器。在其中,我有一个名为Category的动作。请求此方法时,它会响应与作为参数传递的类别对应的产品列表的视图。请遵循以下代码:

[HttpGet]
public ActionResult Category(string categoryName = null)
{
    if (Regex.Match(categoryName, @"\d+").Success)
    {
        int categoryId = Convert.ToInt32(Regex.Match(categoryName, @"\d+").Value);
        string sluggedCategoryName = CommodityHelpers.UppercaseFirst(CommodityHelpers.GenerateSlug(Categories.GetDetails((sbyte)categoryId).Category_Name));

        if (String.Format("{0}-{1}", categoryId, sluggedCategoryName) == categoryName)
        {
            ViewBag.Title = Categories.GetDetails((sbyte)categoryId).Category_Name;
            ViewBag.CategoryProductsQuantity = Categories.GetDetails((sbyte)categoryId).Category_Products_Quantity;
            ViewBag.CurrentCategory = sluggedCategoryName;
            return View(Products.BuildListForHome(categoryId, null));
        }
        else
        {
            return View("404");
        }
    }
    else
    {
        return View("404");
    }
}

但是当“Offers”作为参数传递时,我想返回其他特定视图。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

if (categoryName == "Offers")
    return View("SomeView", Products.BuildListForHome(categoryId, null));

答案 1 :(得分:0)

您可以指定要返回的视图作为参数,如下所示:

return View("Offers", data);

答案 2 :(得分:0)

在检查商品的方法开头添加“if”“then”,如果条件符合,则返回商品查看。