导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

asp.net core 如何在控制器中的action之间传参

qq_37260495 2021-05-26 03:20:00
其中一个action的值 我想在另外一个action中使用,之前用了个放到缓存中的办法,但是数据多一些就会报错。
...全文
325 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
大然然 07-07

public IActionResult 查询(){
var result = GetInfo();
return Content(result);

}
public IActionResult 导出(){
var result = GetInfo();
//生成excel
return File
}
privete List GetInfo()
{
.......
}

回复

你直接写一个方法里不行吗  查询完直接导出

回复
hui1202 06-07

查询数据不变的情况下直接走radis不就好了么

回复
引用 4 楼 piao2004 的回复:
我的做法是:缓存查询条件。然后当用户要导出时,读取这个缓存的条件(可以使用Dictionary<string, object>作为介质),然后再去查一次,重新返回查询结果。
我之前就是缓存,但是数据稍微多一点就会报错
回复
piao2004 05-27
我的做法是:缓存查询条件。然后当用户要导出时,读取这个缓存的条件(可以使用Dictionary<string, object>作为介质),然后再去查一次,重新返回查询结果。
回复
piao2004 05-27
引用 5 楼 qq_37260495 的回复:
[quote=引用 4 楼 piao2004 的回复:]我的做法是:缓存查询条件。然后当用户要导出时,读取这个缓存的条件(可以使用Dictionary<string, object>作为介质),然后再去查一次,重新返回查询结果。

我之前就是缓存,但是数据稍微多一点就会报错[/quote]
我的意思是:用户点击查询时,后台将用户的查询条件缓存起来(不缓存查询结果集)。这样,查询结果集照样在html上输出,但是后台缓存了用户本次的查询条件(比如a=1&b=2之类,数据量很小的),然后,当用户点击导出时,则直接通过缓存的条件再去查一次数据库,从而生成报表。
如果这么说你都不理解的话,就算了,当我没有回复。
回复
楠小南 05-27
为什么要相互去调用呢。 查询就是查询 ,导出就是导出 ,写成两个api ,给他们添加一系列的参数 去操作 让前端自己选择不行吗, 你要导出什么,给参数就好 , api 的 action 之间的设计 应该就是要隔离的
回复
就是我想在一个页面做一个查询功能,再做一个导出查询结果的功能。 这就需要我先 查询,然后查询action中的数据 需要传给导出功能的action。我的问题就是如何在 这个查询的action和导出的action之间传递这个数据。
回复
持久化到数据库,或者使用api都可以实现
回复
Eason0807 05-26
你直接描述你想干什么吧,比如重定向?
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告