重定向到MVC中的不同视图

时间:2012-10-16 22:31:41

标签: asp.net-mvc asp.net-mvc-routing

我有几个HTML文件,我想将它们包含在我的MVC项目中。 我想得到如下结果:

www.Test.com/Products/

www.Test.com/Products/Drinking/
www.Test.com/Products/Drinking/Product1
www.Test.com/Products/Drinking/Product2
www.Test.com/Products/Drinking/Product3


www.Test.com/Products/Cleaning/
www.Test.com/Products/Cleaning/Product1
www.Test.com/Products/Cleaning/Product2
www.Test.com/Products/Cleaning/Product3

www.Test.com/Products/SkinCare/
www.Test.com/Products/SkinCare/Product1
www.Test.com/Products/SkinCare/Product2
www.Test.com/Products/SkinCare/Product3

创建控制器的最佳方法是什么以及如何将我的文件放在嵌套视图中? 或任何其他解决方案?

2 个答案:

答案 0 :(得分:1)

产品可能是您的控制器 饮酒,清洁和SkinCare可能是行动 product1 product2 product3是传递给action的id。

然后根据productId返回您想要的任何视图。或者基于名为Product的类创建强类型视图,并将产品对象传递给视图。

   public class ProductsController : Contoller
   {
       public ActionResult Cleaning(string id)
       {
            Product p = new Product();
            //create the product based on the id

           return view(p);

        }

    }

或返回特定的视图名称

return view("Product1");

或强类型视图

return view("Product1",p);

答案 1 :(得分:0)

[ASP]框架本身应该为您处理路由。模型,控制器和视图都应遵循特定的命名约定,然后应该生成正确的URL。