如何在具有不同路由的不同视图中重用部分控件?

时间:2014-10-07 11:02:28

标签: c# .net asp.net-mvc model-view-controller

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

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

当我在"频道"实体并从该实体添加/创建用户我需要转到" EditChannel"创作之后。

我想重用我的" CreateUser"部分控制,但如何在每次创建后指定目的地 - 注入路线?这是怎么做到的?我想避免怪物"如果"确定目的地的陈述。

1 个答案:

答案 0 :(得分:0)

在放置CreateUser局部视图的每个视图中,您可以添加隐藏字段以引用要重定向的操作。然后在CreateUser Action中,您可以从Request

获取该字段值

查看

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

控制器

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

    return Redirect(destination);
}

我不知道这是否是最好的方法,但我首先想到的是。