MVC创建“文件夹”和子文件夹

MyDaft问题

在ASP.NET WebForms(说实话,HTML)中,我们可以引用文件夹中的页面。EG,我的结构可能是(仅关于文件夹)

root-> MyProductsFolder->鞋子->女士

我的网站会显示

www.mysite.com/MyProducts/Shoes/Ladies/Page.aspx

在MVC中,我们使用一个控制器,看来我们只能拥有1级(文件夹)的深度。这是正确的吗?

不使用URL重写,是否有可能

www.mysite.com/MyProducts/Shoes/Ladies/Page

我认为唯一的方法是在控制器中,但是我无法创建一个名为Shoes / Ladies的控制器

卡尔

您可以使用MVC路由创建此URL。通常在AppStart> RouteConfig.cs类中找到您的路由表您可以使用路由表为控制器中的操作创建URL映射。

假设MyProducts是您的控制器,而Shoes,Ladies是您要接受的变量,则可以执行以下操作:

routes.MapRoute("MyProducts", 
    "MyProducts/{category}/{subcategory}/Page", 
    new { controller = "MyProducts", action = "Index" });

请注意,您的路由应为最具体到最不具体的顺序,因此请将此路由添加到默认路由的上方。

当您导航到/ MyProducts / Shoes / Ladies / Page时,它将映射到MyProducts控制器中的索引操作结果,并传递类别和子类别的变量,因此您的控制器看起来像

public class MyProducts : Controller
{
    public ActionResult Index(string category, string subcategory)
    {
        //Do something with your variables here.
        return View();
    }
}

如果我的假设是错误的,那么您只想为该URL返回一个视图,那么您的路线将如下所示:

routes.MapRoute("MyProducts", "MyProducts/Shoes/Ladies/Page", new { controller = "MyProducts", action = "LadiesShoes" });

和您的控制器:

public class MyProducts : Controller
{
    public ActionResult LadiesShoes()
    {
        //Do something with your variables here.
        return View();
    }
}

如果需要,您可以安全地省略URL上的最后一个“ / page”。

如果我没有用上面的示例介绍您的确切情况,请告诉我,我将扩展答案。

更新

如果需要,您仍然可以将视图放置在views文件夹下的文件夹结构中,然后在控制器中引用视图文件的位置-在以下示例中,将名为Index.cshtml的视图文件放置在Views / Shoes / Ladies /文件夹中:

public class MyProducts : Controller
{
    public ActionResult LadiesShoes()
    {
        //Do something with your variables here.
        return View("~/Views/Shoes/Ladies/Index.cshtml");
    }

    public ActionResult MensShoes()
    {
        //Do something with your variables here.
        return View("~/Views/Shoes/Mens/Index.cshtml");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

遍历文件夹和子文件夹中的所有文件并获取创建日期

使用.txt输入文件创建文件夹和子文件夹

从csv / txt文件创建文件夹和子文件夹

使用If语句文件夹和子文件夹

如何合并文件夹和子文件夹?

如何创建子文件夹和移动文件

Outlook 2010创建文件夹和子文件夹

批量创建文件夹和子文件夹

在Excel VBA中创建文件夹和子文件夹

如何创建文件夹和子文件夹

用户输入 - 文件夹和子文件夹创建

使用python创建文件夹和子文件夹时出错

将创建文件夹和子文件夹的按钮事件

从 excel 表创建文件夹和子文件夹和子文本文件

创建Inotifywait子文件夹zip

使用Powershell创建子文件夹

在不同的命名文件夹下创建子文件夹

Bash mkdir和子文件夹

删除子文件夹和文件而不删除父文件夹和子文件夹?

在当前日期创建的文件夹和子文件夹中查找文件

如何在内部自动创建文件夹、子文件夹和空文件?

使用python根据包含日期的文件名创建文件夹和子文件夹

.htaccess规则文件与所有子文件夹匹配(子文件夹是随机创建的)

删除文件夹和子文件夹中的某些文件类型和空文件夹

使用PyDrive(Python)访问文件夹,子文件夹和子文件

计算这些子文件夹中的子文件夹和.exe文件的数量

Java的8:从文件夹/子文件夹的文件

Powershell:将所有文件从文件夹和子文件夹移至单个文件夹

递归清除其中没有文件的文件夹中的所有文件夹和子文件夹