我有一个非常简单的问题要问:
我有一个C#网页左侧有一个树视图,右侧有九个文本框。
树视图是从包含9列的sql表的数千行填充的。
目标: 单击树视图项时,更新九个文本框并显示每个列的值。
最好的方法是什么? 我应该在临时数据表中获取页面加载的所有数据,并在单击树视图时查询C#数据表吗? 或者我应该在单击树视图项时将select语句发送到sql表? 或者有更好的方法吗?
这个解决方案将被超过15个用户使用,性能是一个关键因素。
谢谢,
FM
答案 0 :(得分:1)
我会使用Server Cache来存储DataTable。
Treeview对于每个用户都是相同的,并且缓存在像DataTable这样的对象上保存应用程序范围的引用。
添加:
Cache["MyTreeviewDataTable"] = MyTreeviewDataTable;
检索:
DataTable MyTreeviewDataTable = (DataTable)Cache["MyTreeviewDataTable"];
更新:您还应该查看SqlDependency和SqlCachDependency类,以便在数据发生变化时通知。
答案 1 :(得分:1)
如果应用程序的所有用户的树视图与
相同1-在您的Application Start事件中,填写数据中的数据并存储在Application Variable中。
2-使用上面创建的Application变量来查询存储在其中的数据。
3-单击树视图中的节点时,通过查询存储的数据表显示详细信息。
这个appraoch会运行良好,如果树视图不是特定于用户的,那么在最小化数据库行程时,您将获得性能优势。