GridView绑定字符串列表后,如何配置导入按钮获取对应数据?
解决GridView绑定List时导入按钮的绑定问题
这个问题我刚好碰到过,其实核心原因是你绑定的是List<string>这种纯值类型集合,每个数据项都是单个的字符串,不是带有Item属性的自定义对象,所以用Eval("Item")自然找不到对应的字段。
你可以用下面两种方法来正确绑定按钮的参数和文本:
方法1:直接引用Container.DataItem
Container.DataItem就是当前行对应的字符串数据项,直接用它来赋值就行:
<asp:Button ID="ImportBtn" runat="server" CommandName="Import" CommandArgument='<%# Container.DataItem %>' Text='<%# "Import " + Container.DataItem %>' />
方法2:使用Eval("")(空字符串)
对于值类型的集合,Eval("")会直接返回当前数据项的原始值,写法更简洁:
<asp:Button ID="ImportBtn" runat="server" CommandName="Import" CommandArgument='<%# Eval("") %>' Text='<%# "Import " + Eval("") %>' />
简单总结一下:当绑定的集合元素是像string、int这种没有属性的值类型时,不需要指定字段名,直接引用数据项本身就可以完成绑定啦。
内容的提问来源于stack exchange,提问作者Gordon Copestake
相关产品推荐
相关产品推荐

