当前位置:  开发笔记 > 编程语言 > 正文

重定向到其他控制器中的操作

如何解决《重定向到其他控制器中的操作》经验,为你挑选了0个好方法。

我想从一个控制器中的操作重定向到第二个控制器中的操作.通常我会使用RedirectToAction("actionName","controllerName",对象); 我想重定向到的方法有两个重载:

一个用于HttpVerbs.Get,用于直接链接

一个用于HttpVerbs.Post接受通过模型绑定填充的引用类型

当我使用RedirectToAction方法进行重定向时,默认情况下会重定向到GET方法,当然这与我的参数不匹配.
如何确保重定向到正确的操作过载?

--EDIT--
根据要求提供一些更具体的细节:
我想重定向的动作根据参数填充viewData,然后调用正确的视图.

public ActionResult OverView(SearchBag searchBag, IngredientBag ingredientBag) {

它有第二个版本的Get,所以它也可以通过GET工作:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult OverView(int colorId, string paintCode, string name, int formulaId) {
    return OverView(new SearchBag() 
        { ColorId = colorId, PaintCode = paintCode, ColorName = name, FormulaId = formulaId }
            , formulaViewData.IngredientBag);
}

我现在打电话的是一个不同的控制器.它进行一些预先计算,获取所需的信息,然后执行与先前操作完全相同的操作.我可以从第一个动作复制代码,但我宁愿只是调用该动作.

[AcceptVerbs(HttpVerbs.Post)]
public RedirectToRouteResult ReCalculate(SearchBag searchBag, IngredientBag ingredientBag) {

我可以创建下一个控制器的临时本地实例,但我注意到它没有正确的HTTPContext并且没有点击初始化方法.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有