asp.net-mvc – 有没有办法从控制器A调用控制器B返回ActionResul
发布时间:2020-12-16 06:58:25 所属栏目:asp.Net 来源:网络整理
导读:假设我有一个控制器: public BController : Controller{ public ActionResult Foo(FooViewModel vm) { ... } } 同时我在另一个控制器AController中实现一个动作,我想渲染BController.Foo传递特定模型对象的结果.所以: public AController : Controller{ pu
假设我有一个控制器:
public BController : Controller { public ActionResult Foo(FooViewModel vm) { ... } } 同时我在另一个控制器AController中实现一个动作,我想渲染BController.Foo传递特定模型对象的结果.所以: public AController : Controller { public ActionResult Bar(BarViewModel vm) { FooViewModel fooVm = MakeFooVM(vm); return ... ; // pass fooVm to BController } } 有没有办法在MVC中实现这一目标? 解决方法
在上面的答案中错过了一步.创建控制器后,需要设置ControllerContext,以便填充控制器的Request,Response和HttpContext.只是创建控制器将导致控制器的上下文设置为空值.
public AController : Controller { public ActionResult Bar(BarViewModel vm) { FooViewModel fooVm = MakeFooVM(vm); var bController = new BController(); bController.ControllerContext = new ControllerContext(this.ControllerContext.RequestContext,bController); return bController.Foo(fooVm); } } 资料来源:Get ActionResult of another controller-action? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 将ASP.Net Web.Config设置绑定到.ASPX文件?
- asp.net-web-api – 使用OAuth和单页应用程序实现Web API
- asp.net-core – 有没有办法将ASP.NET Core应用程序区域打包
- asp.net – 会话在20分钟后到期:是否空闲
- 第17章 ASP.NET MVC实战: 构建NuGet.org网站
- asp.net core EF code first
- 一步步开发自己的博客 番外篇(8、第三方登录及问题记录)
- asp.net – 带CSS的Control.ClientID
- asp.net – 我是否需要viewstate来输入控件,如复选框,文本框
- ASP.NET MVC5 中百度ueditor富文本编辑器的使用(转)
推荐文章
站长推荐
- asp.net – 从aspx访问应用程序设置并添加连接文
- asp.net-mvc – 什么是ASP.NET MVC的验证选项
- asp.net – 没有使用WebApi委托处理程序分配内部
- asp.net-mvc-4 – 使用导航路由的ASP.NET,Twitte
- asp.net-mvc – 使用ASP.NET MVC的Piranha CMS路
- asp.net-mvc – 避免“类或CssClass值未定义”AS
- asp.net-mvc – MVC 3多个DisplayFor-Templates
- ASP.NET成员资格getuserbyID
- Asp.Net GridView获取TemplateField上的当前行
- asp.net 禁用viewstate在web.config里
热点阅读