1

现在我正在重写一些代码,但我也想使用现有代码作为占位符。我有一个包含所有新代码的“参考”控制器和一个包含旧代码的“参考”控制器。

我想要做的只是从我的参考控制器的旧参考控制器返回一个 PartialViewResult。我试过这样做:

public PartialViewResult ResolveView(int type)
{
    //Other code
    if (type == (int)ReferenceType.Participant) return ParticipantView();

    //return default partial view
    ...
}

//Called from ResolveView
private PartialViewResult ParticipantView()
{
    return RedirectToAction("ParticipantsView", "References");
}

这是我的旧控制器方法:

public PartialViewResult ParticipantsView()
{
    var viewmodel = new ParticipantCreateViewModel
                            {
                                Participant = new ParticipantViewModel(),
                                Person = new ParticipantPersonViewModel(),
                                Types = ReferenceService.GetData<ParticipantType>(),
                            };
    return PartialView("_ParticipantsView");
}

我目前收到一个错误:Cannot implicitly convert type 'System.Web.Mvc.RedirectToRouteResult' to 'System.Web.Mvc.PartialViewResult'

我需要做什么才能让它从我的其他控制器返回我的 PartialViewResult?

4

1 回答 1

2

更改方法签名以返回 ActionResult

private ActionResult ParticipantsView()
{
 return RedirectToAction("ParticipantsView", "References");
}
于 2012-07-25T20:34:54.473 回答