ASP.NET|在MVC中从一个控制器调用另一个控制器的动作
创始人
2024-09-20 00:00:17
0

在MVC中,我们可以从控制器中调用另一个控制器的操作。为此,我们将使用MVC中的 Url.Action()Redirect() 方法以及C#中的 HttpWebRequest 类。

首先,我们将创建要调用的操作所在的控制器的实例。然后,我们将创建一个Web请求,并使用控制器中的操作名称和参数来设置请求的URL。最后,我们将通过执行Web请求来调用控制器中的操作,并使用 Redirect() 方法将其结果传回原始控制器。

以下是示例代码:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        // 创建要调用的控制器实例
        AnotherController anotherController = new AnotherController();

        // 构造Web请求
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url.Action("ActionName", "Another", new { param1 = "value1" }));

        // 执行Web请求并获取响应
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        // 从响应中获取数据
        Stream stream = response.GetResponseStream();
        StreamReader reader = new StreamReader(stream);
        string result = reader.ReadToEnd();

        // 将数据返回到原始控制器
        return Redirect(Url.Action("Index", "Home", new { result = result }));
    }
}

public class AnotherController : Controller
{
    public ActionResult ActionName(string param1)
    {
        // 在此处执行逻辑并返回结果
        string result = "Result of ActionName with param1=" + param1;
        return Content(result);
    }
}

在此示例中,HomeControllerIndex() 方法将调用 AnotherControllerActionName() 方法,并将 param1 参数设置为 value1。然后,Index() 方法将 ActionName() 方法的结果作为字符串传递给 Home 控制器中的 Index 动作,该动作将数据添加到视图中并返回结果。

请注意,在此示例中,ActionName() 方法返回简单的字符串值,但您可以根据需要返回任何类型的 ActionResult 对象。

相关内容

热门资讯

透视新版!wepoker私人局... 透视新版!wepoker私人局可以透视(透视)西部透视辅助(果然是有辅助软件)-哔哩哔哩在进入西部透...
据玩家消息!德州辅助工具到底怎... 据玩家消息!德州辅助工具到底怎么样(透视)微信小程序边锋辅助下载(竟然有辅助安装)-哔哩哔哩1、每一...
透视最新!红龙poker辅助平... 透视最新!红龙poker辅助平台(透视)鸿狐拼十辅助(果然真的有辅助插件)-哔哩哔哩1、起透看视 鸿...
为切实保障!wepoker辅助... 为切实保障!wepoker辅助是真的吗(透视)哈灵脚本修改器(确实是真的辅助修改器)-哔哩哔哩1、不...
透视了解!wepoker怎么挂... 透视了解!wepoker怎么挂底牌(透视)心悦辅助(原来存在有辅助软件)-哔哩哔哩1.心悦辅助 选牌...
为切实保障!wepoker手机... 为切实保障!wepoker手机插件(透视)川娱竞技辅助(一贯真的有辅助辅助器)-哔哩哔哩1、点击下载...
透视玄学!pokerrrr2辅... 透视玄学!pokerrrr2辅助(透视)微信插件激活码(真是真的是有辅助插件)-哔哩哔哩1、微信插件...
透视新版!拱趴大菠萝机器人(透... 透视新版!拱趴大菠萝机器人(透视)越乡游双扣辅助器(果然是真的辅助安装)-哔哩哔哩1、起透看视 越乡...
透视肯定!aapoker如何设... 透视肯定!aapoker如何设置胜率(透视)吉祥填大坑怎么用插件(果然真的有辅助神器)-哔哩哔哩1、...
无独有偶!fishpoker透... 无独有偶!fishpoker透视底牌(透视)新九游辅助软件(真是是真的辅助插件)-哔哩哔哩运新九游辅...