如何在mvc中创建嵌套操作?

时间:2016-04-10 15:25:29

标签: asp.net-mvc

我想使用打击网址来删除和编辑我的产品

  

本地主机:3891 /管理员/显示产品/删除/ ID AdminId = 12

     

本地主机:3891 /管理员/显示产品/编辑/ ID AdminId = 12

     

本地主机:3891 /管理员/显示产品/细节/ ID AdminId = 12

我试过RouteConfig的代码:

routes.MapRoute(
            name: "Administrtor",
            url: "Administrator/ShowProduct/{action}/{id}",
            defaults: new { controller = "Administrator", action = "ShowProduct", id = UrlParameter.Optional }

            );

我的控制器是管理员,我的操作是ShowProduct

如何创建ShowProduct的另一个动作子集?

2 个答案:

答案 0 :(得分:1)

您可以使用名称Administrator with Delete,Edit and Details操作创建Controller。

路线代码

routes.MapRoute(
        name: "Administrtor",
        url: "Administrator/ShowProduct/{action}/{id}",
        defaults: new { controller = "Administrator", action = "Delete", id = UrlParameter.Optional }

        );

控制器代码

 public class AdministratorController : Controller
{
    public ActionResult Delete(int adminId)
    {
        return View();
    }

    public ActionResult Details(int adminid)
    {
        return View();
    }
    public ActionResult Edit(int adminid)
    {
        return View();
    }
}

生成的网址

http://localhost:64922/Administrator/showproduct/Edit/1 http://localhost:64922/Administrator/showproduct/Details/1 http://localhost:64922/Administrator/showproduct/Delete/1

如果要在URL中显示adminId(?adminId =),请将adminId更改为路径中的Id。

答案 1 :(得分:0)

我在asp.net-mvc中使用了区域,首先右键单击项目名称,然后添加并选择区域,然后右键单击区域文件夹和添加区域,然后在我的案例中键入区域名称:Administrator

每个区域都有模型,视图,控制器

对于我的控制器:右键单击控制器文件夹并输入此名称 显示产品

现在我可以为它编写任何动作,例如编辑,删除和详细信息