2014-10-07 31 views
1

我有一个ASP.NET MVC解决方案,我有一个“创建用户”按钮的工具栏。 我的系统中有几个实体可以添加/创建用户。根据您添加用户的实体,目标页面是不同的。 FX。如何在不同的视图中重复使用不同路径的部分控件?

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

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

我想重用我的“CreateUser”部分控件,但是如何在每次创建后指定目标 - 注入路由?这是如何完成的?我想避免一个怪物“如果”的声明来确定目的地。

+0

那么你是否在从不同的实体页面添加/创建用户时调用相同的操作方法? – 2014-10-07 12:09:12

+0

当您在父项中创建局部视图时,您可以传递要在创建后重定向的网址。 – lopezbertoni 2014-10-07 12:23:26

+0

@lopezbertoni如何在没有模型绑定的情况下将视图中的任何数据传递给控制器​​? – 2014-10-07 12:24:56

回答

0

在放置CreateUser局部视图的每个视图中,可以添加一个隐藏字段来引用要重定向的动作。然后在你的CREATEUSER行动可以从请求

查看

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

控制器

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

    return Redirect(destination); 
} 

我不知道这是否是最好的方式,只是在第一件事情来获得该字段的值在我心里。

相关问题