ViewBag和ViewData怎么 才能跨控制器传值?

作者:超级管理员 更新时间:2017-10-31 09:59:03 来源:未知 点击:15642
本帖最后由yangliweng2于2015-07-2418:14:33编辑RT,我现在有一个控制器是role,我想传值到Admin的控制器里面,使用viewbag 和viewData进行传值,但是遗憾
本帖最后由 yangliweng2 于 2015-07-24 18:14:33 编辑
RT,我现在有一个控制器是role,我想传值到Admin的控制器里面,使用viewbag 和viewData进行传值,
但是遗憾的是,只能在本控制器内传值,目前为止 。
我一传到其他控制器里面,这个就为空,找不到了。
下面是 代码

                        @{
                            Html.RenderAction("Index", "Role");

                            var data = new ViewDataDictionary();
                            
                            var  data2=ViewBag.RoleKindDic;
                            data.Add("RoleKindDic",data2 );

                            Html.Partial("~/Views/Role/_Partial_RoleList.cshtml", ViewBag.RoleKindDic as MSBox.Develop.Common.PagerQuery<MSBox.Develop.Common.PageInfo, IQueryable<MSBox.Develop.Models.RoleKind>>, data);
                            }


我先进行渲染,就是在ROLE里面进行渲染,然后要 传值 到Admin,上面的页面是Admin/Index,于是乎,就为空了,有没有好的解决方法?

下面的是role里面的对应的ACTION

        public ActionResult Index(int? pageSize,int?  pageIndex)
        {
            int pageIndex1 = pageIndex ?? 1;
            int pageSize1 = pageSize ?? 3;
            int count = db.RoleKinds.ToList().Count;
            var news = db.RoleKinds.ToList();
            var temp = db.RoleKinds.OrderByDescending(x => x.ID).Skip(pageSize1 * (pageIndex1 - 1)).Take(pageSize1).AsQueryable();

            PageInfo pager = new PageInfo();
            pager.CurrentPageIndex = pageIndex1;
            pager.PageSize = pageSize1;
            pager.RecordCount = count;

            PagerQuery<PageInfo, IQueryable<RoleKind>> query = new PagerQuery<PageInfo, IQueryable<RoleKind>>(pager, temp);

            //把这个查询出来的东西 先 传到 viewbag里面 ,如果不这么 做,那么就会 抛异常。
            ViewBag.RoleKindDic = query;
            ViewData["RoleKindDic"] = query;

            return PartialView("~/Views/Role/_Partial_RoleList.cshtml", ViewData["RoleKindDic"]);

        }



到下面 这里就为空 了


以下是关于本问题的解决方案:

解决方案1、
ViewBag和ViewData
只能action穿给view

action和action之间  就是面试经常问的那几种页面之间的传值防守
用Get
Admin/Index?id=xxx&type=yyy

AdminCtrol
Index(int id,int type)


这样写linq是很恐怖的~~是把正张表的数据加载到内存中再分页,到时候又埋怨EF垃圾了
 int count = db.RoleKinds.ToList().Count;
var news = db.RoleKinds.ToList();
 var temp = db.RoleKinds.OrderByDescending

解决方案2、
 int count = db.RoleKinds. ToList().Count;
var news = db.RoleKinds. ToList();

 db.RoleKinds.Count()
解决方案3、
引用 1 楼 moonwrite 的回复:
ViewBag和ViewData
只能action穿给view

action和action之间  就是面试经常问的那几种页面之间的传值防守
用Get
Admin/Index?id=xxx&type=yyy

AdminCtrol
Index(int id,int type)


这样写linq是很恐怖的~~是把正张表的数据加载到内存中再分页,到时候又埋怨EF垃圾了
 int count = db.RoleKinds.ToList().Count;
var news = db.RoleKinds.ToList();
 var temp = db.RoleKinds.OrderByDescending


谢谢,娜你的意思是没办法传了么?
解决方案4、
引用 2 楼 moonwrite 的回复:
 int count = db.RoleKinds. ToList().Count;
var news = db.RoleKinds. ToList();

 db.RoleKinds.Count()

谢谢问题已经解决,用TempData就OK
解决方案5、
TempData

推荐阅读

热门内容

md5加密,要加密的串带有特殊字符

现在在做跨境物流,需要接法国物流接口。接...

winform客户端界面与其他软件相似,

项目开始的时候,领导一句话照着XXX软件...

Dev GridControl 单元格为

怎么阻止对话框弹出,并且在有空值得情况下...

“System.TypeInitiali

web是项目名称,在网上查说什么的都有,...

现在IT编程做网站是不是没前途了?感觉都

本人是从事1年多的程序猿,做asp.ne...

ViewBag和ViewData怎么 才

本帖最后由yangliweng2于201...

WPF 如何禁用ScrollViewer

以下是关于本问题的解决方案:解决方案1、...

GridControl 最后一列按回车键

GridControl  当光标在最后一...

ASP.NET中关于Theme的问题

我是设置了一个Default的主题。希望...

我用一个方法返回一个Image,保存为啥

我在方法中保存 ,就不会有问题,可是我想...

最新内容

C#基础问题:只读,关于Array.IsReadOnly和IList.IsReadOnly

不清楚为什么问题列表看不到我的问题,无奈再开一贴原题贴以下是关于本问题的解决方案...

md5加密,要加密的串带有特殊字符

现在在做跨境物流,需要接法国物流接口。接口需要传个安全秘钥,这个秘钥就是规定的几...

backgroundWorker关于Winform最简单的线程问题,请求各位指导一下

我想使用backgroundWorker1,启动应用后每隔20秒去读取数据库,看...

一个小问题求助

类似图中数据,要筛选出MesNum与InventoryNum不同的数据该怎么写 ...

WPF 自定义的DependencyProperty属性不被识别

定义了一个多选的Comobox,自定义依赖属性在调用时不被识别,不知道为什么。p...

ArcGis For JavaSrcipt 如何加载shp和dwg和dbf文件?

如何加载?跪求大神指导。并且可以清除掉!!以下是关于本问题的解决方案:...

一条sql语句,把重复记录的字段的值相加

本帖最后由NewCSDN2005于2017-10-2915:35:27编辑acc...

链接带的有?id=xxx,查询结果一直显示id为xxx的咋办?

一个链接,比如www.baidu.com链接要点进去直接显示某个人,而不是所有就...

通过数据库获取 like '%[螺丝]%' 怎么写代码!

通过数据库获取 like '%[螺丝]%' 怎么写代码SELECT top 5 ...

winform客户端界面与其他软件相似,需要修改界面

项目开始的时候,领导一句话照着XXX软件实现这些功能,项目全程就我一个人开发,然...

Dev GridControl 单元格为空验证弹框问题!!! 希望有人能解决了

怎么阻止对话框弹出,并且在有空值得情况下不允许添加新行以下是关于本问题的解决方案...

VS2015 报表已经有列,现在怎么动态生成列加进去(winform)

VS2015 报表已经有列,现在怎么动态生成列加进去(winform)以下是关于...

WebService 怎么跳过登录页面?

另外,WebService发布后,要替换哪些文件?bin文件夹里名字一样的就找到...

VB.NET注册热键F12,或者屏蔽系统F12键

如题。请各位大侠帮忙解决。以下是关于本问题的解决方案:解决方案1、看不懂,不是当...

“System.TypeInitializationException”类型的异常在 Web.dll 中发生,但未在用户代码中进行处理

web是项目名称,在网上查说什么的都有,也没有改对,请大家帮忙,怎么解决以下是关...

如何正确启动Explorer.exe

如何正确启动Explorer.exe我在实际项目中遇到的一个问题:客户要求开机输...

vs2015中stdin如何进行终止?

在vs2015中运行如下代码:int main(){unsigned int a...

现在IT编程做网站是不是没前途了?感觉都是"增删改查",可替换性太强了.

本人是从事1年多的程序猿,做asp.net的,做动态网站和管理系统的(包括前端和...

降频 不存在的

image1509379333929548.png(123.51KB,下载...

qt 鼠标移动到加载完图片的label后,对label中的图片实现放大镜功能!

鼠标一旦进入label和按键就会下沉到下面。后来重写QLabel还是不能实现该功...