如何使用不同的路线在不同的视图中重用部分控件

本文关键字:用部 控件 何使用 视图 | 更新日期: 2023-09-27 18:25:44

我有一个ASP.NET MVC解决方案,其中有一个带有"创建用户"按钮的工具栏。我的系统中有几个实体,您可以在其中添加/创建用户。根据添加用户的实体,目标页面有所不同。Fx。

我有一个"部门"实体,当我从该实体添加/创建用户时,我需要在创建后转到"编辑部门"。

当我在"频道"实体并从该实体添加/创建用户时,我需要在创建后转到"编辑频道"。

我想重用我的"CreateUser"部分控件,但是如何在每次创建-注入路由后指定目的地?这是怎么做到的?我想避免一个怪物"如果"语句来确定目的地。

如何使用不同的路线在不同的视图中重用部分控件

在放置CreateUser部分视图的每个视图中,可以添加一个隐藏字段来引用要重定向的Action。然后在CreateUser操作中,您可以从请求中获得该字段值

查看

@Html.Hidden("Destination", "EditDepartment")
@Html.Partial("CreateUser")

控制器

public ActionResult Create(UserViewModel viewModel)
{
    string destination = Request["Destination"];
    //Create logic...
    return Redirect(destination);
}

我不知道这是否是最好的方法,但这是我想到的第一件事。