首页 新闻 搜索 专区 学院

net mvc 开发中的datatable集合问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-05-31 10:51

最经开发一个mvc项目,view需要获取多个datatable的数据,所以在Controller层就使用了list<datatable> dList 来装多个datatable,然后controller层将这个 dList传给view层。在view层只要通过@model[index]就可以获取对应的datatable数据了,但是这样很不容易维护,如果我要修改dList里面的数据(往dList中间增删数据)的话,那么view层就要把index都改变,这样很难维护。

问:有没有一个更好的方法,让我把这些datatable和为每个datatable设置一个固定的表名,存放在一个类似集合的容器里,然后我在view层只需要通过datatable对应的表名就可以获取到对应的datatable了,因为表名是可以设置为固定的。

听雨读诗的主页 听雨读诗 | 初学一级 | 园豆:47
提问于:2013-05-31 07:44
< >
分享
最佳答案
0

那你传送一个字典给View , 字典的KEY就是表名 VALUE就是 datatable

收获园豆:10
Yu | 专家六级 |园豆:12950 | 2013-05-31 08:37

//声明一个字典
        private Dictionary<string, DataTable> dic = null;

//新建字典
            dic = new Dictionary<string, DataTable>();
//往字典赋值
            dic.Add("tb_NewList", new New().getNewTop());

//传递字典给视图
            return View(dic);

//view获取对应表的行,view引用@model IDictionary<string,System.Data.DataTable>

    Model["tb_LibraryServerList"].Rows

听雨读诗 | 园豆:47 (初学一级) | 2013-05-31 09:13
其他回答(1)
0

ViewBag就可以啊,这个是动态类型。你将dictionary<string,DataTable>传给它就好了

滴答的雨 | 园豆:3690 (老鸟四级) | 2013-05-31 08:43

我的写法是下面:您所说的viewBag好像有点麻烦哦,您的想法是怎样的?

//声明一个字典
        private Dictionary<string, DataTable> dic = null;

//新建字典
            dic = new Dictionary<string, DataTable>();
//往字典赋值
            dic.Add("tb_NewList", new New().getNewTop());

//传递字典给视图
            return View(dic);

//view获取对应表的行,view引用@model IDictionary<string,System.Data.DataTable>

    Model["tb_LibraryServerList"].Rows

支持(0) 反对(0) 听雨读诗 | 园豆:47 (初学一级) | 2013-05-31 09:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册