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个事件来的,按你那样子说,要把Table设置为全局变量吧?? --------------------编程问答--------------------
是的啊!全局设为私有的 ~~~
绑定归绑定。和你填充数据两码事! 填充后把table当作数据源绑定控件,然后你执行插入的时候可以通过ID来查询你填充table的数据, ID要你在控件中绑定一个,然后获取! --------------------编程问答--------------------
公司的项目,很多都用到全部变量,我觉得使用过多的全局变量好似不妥。。。也说不出为什么。公司的同事做的项目,后台一大堆全局变量。。。 --------------------编程问答--------------------
public static List<string> list = new List<string>(); 刚发现,这样子设置全部变量会被清空掉。。 --------------------编程问答-------------------- 把 static 去掉。不要这样设置,设置成受保护的,你这样设置太易做图了! --------------------编程问答--------------------
呵呵!本来是Private
好似如果要跨函数调用,要设置成static的。我之前有遇到过。不设置static会被清空掉。 --------------------编程问答-------------------- 不用Repeater 不就简单了吗?
您不是已经得到一个List<>泛型了吗!您把他输出到页面上
用js拼接您的数据,然后相应事件就可以了 --------------------编程问答--------------------
支持这种,
<% foreach()%>
用这种来直接输出更加方便。
补充:.NET技术 , ASP.NET