如何在Mvc的控制器中调用另一个控制器的动作
我需要从控制器A调用控制器B的动作FileUploadMsgView,并需要为它传递一个参数。
Code---its not going to the controller B's FileUploadMsgView().
In ControllerA
private void Test()
{
try
{//some codes here
ViewBag.FileUploadMsg = "File uploaded successfully.";
ViewBag.FileUploadFlag = "2";
RedirectToAction("B", "FileUploadMsgView", new { FileUploadMsg = "File uploaded successfully" });
}
In ControllerB receiving part
public ActionResult FileUploadMsgView(string FileUploadMsg)
{
return View();
}
138
3
正如@mxmissile在已接受答案的评论中所说,你不应该新建控制器,因为它将缺少为IoC设置的依赖关系,也不会有
HttpContext
。相反,你应该像这样得到一个控制器的实例:
控制器只是一个类--新建一个,然后像其他类成员一样调用动作方法:
var result = new ControllerB().FileUploadMsgView(" some string");
你的样本看起来像是伪装的代码。你需要***返回 "RedirectToAction "的结果: