当前位置:编程学习 > C#/ASP.NET >>

Repeater最优取值的方法???

页面上有一个Repeater ,绑定的数据,是从API调用回来的 List<>泛型的。
现在,我想点击Repeater一行中的按钮,将该行数据保存到数据库中。

小弟不才,就想到2个方法,
1)重新执行调用的API,得到List<>,将该List<>的ID与点击行的CommandArgument对比
得到List[0],肯定是唯一的,然后插入数据库

2)repeater中数据控件绑定,不显示的字段也用HiddenField来绑定,点击行时,FindControl到该行的控件,也可以取到值

思考:这两种方法,其实都是可行的,但是,我觉得第一种效率太低,因为又执行了一个API查询调用,至于,第二种,我觉得是很笨的方法、、

不知道你们的建议是怎么样的,想寻找一种高效的.NET编程方法!! --------------------编程问答--------------------

API获取到List<> 数据后 放入Cache 中,然后后台不用再次查询    直接获取存储在Cache中的list<>  --------------------编程问答-------------------- 既然返回泛型,你就接着API返回的泛型啊,没必要在查询一次啊!


你可以把泛型的数据取出来,重新填充一个table然后在绑定,这次你直接查询table的就行,这个就不跟数据交互了! --------------------编程问答--------------------
引用 2 楼 hou306010849 的回复:
既然返回泛型,你就接着API返回的泛型啊,没必要在查询一次啊!


你可以把泛型的数据取出来,重新填充一个table然后在绑定,这次你直接查询table的就行,这个就不跟数据交互了!


绑定和插入数据库是2个事件来的,按你那样子说,要把Table设置为全局变量吧?? --------------------编程问答--------------------
引用 3 楼 wayne20018891 的回复:
引用 2 楼 hou306010849 的回复:

既然返回泛型,你就接着API返回的泛型啊,没必要在查询一次啊!


你可以把泛型的数据取出来,重新填充一个table然后在绑定,这次你直接查询table的就行,这个就不跟数据交互了!


绑定和插入数据库是2个事件来的,按你那样子说,要把Table设置为全局变量吧??


是的啊!全局设为私有的 ~~~

绑定归绑定。和你填充数据两码事! 填充后把table当作数据源绑定控件,然后你执行插入的时候可以通过ID来查询你填充table的数据,  ID要你在控件中绑定一个,然后获取! --------------------编程问答--------------------
引用 4 楼 hou306010849 的回复:
引用 3 楼 wayne20018891 的回复:

引用 2 楼 hou306010849 的回复:

既然返回泛型,你就接着API返回的泛型啊,没必要在查询一次啊!


你可以把泛型的数据取出来,重新填充一个table然后在绑定,这次你直接查询table的就行,这个就不跟数据交互了!


绑定和插入数据库是2个事件来的,按你那样子说,要把Table设置为全局变量吧??
……


公司的项目,很多都用到全部变量,我觉得使用过多的全局变量好似不妥。。。也说不出为什么。公司的同事做的项目,后台一大堆全局变量。。。 --------------------编程问答--------------------
引用 2 楼 hou306010849 的回复:
既然返回泛型,你就接着API返回的泛型啊,没必要在查询一次啊!


你可以把泛型的数据取出来,重新填充一个table然后在绑定,这次你直接查询table的就行,这个就不跟数据交互了!


 public static List<string> list = new List<string>(); 刚发现,这样子设置全部变量会被清空掉。。 --------------------编程问答-------------------- 把 static 去掉。不要这样设置,设置成受保护的,你这样设置太易做图了! --------------------编程问答--------------------
引用 7 楼 hou306010849 的回复:
把 static 去掉。不要这样设置,设置成受保护的,你这样设置太易做图了!


呵呵!本来是Private
好似如果要跨函数调用,要设置成static的。我之前有遇到过。不设置static会被清空掉。 --------------------编程问答-------------------- 不用Repeater 不就简单了吗?
您不是已经得到一个List<>泛型了吗!您把他输出到页面上
用js拼接您的数据,然后相应事件就可以了 --------------------编程问答--------------------
引用 9 楼 phoebuswei 的回复:
不用Repeater 不就简单了吗?
您不是已经得到一个List<>泛型了吗!您把他输出到页面上
用js拼接您的数据,然后相应事件就可以了


支持这种,
<% foreach()%>
用这种来直接输出更加方便。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,