1

現在、一部のコードを書き直していますが、既存のコードもプレースホルダーとして使用したいと考えています。すべての新しいコードを格納する「参照」コントローラーと、古いコードを格納する「参照」コントローラーがあります。

私がやりたいことは、古い References コントローラーから Reference コントローラーから 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 に答える