asp.net listview Container.DataItemIndex

4 asp.net listview

我试图通过像.的命令参数

<asp:Button ID="btnSave" runat="server" Text="Save" CommandName='<%# Eval("Section_Name")%>' CommandArgument='<%# Container.DataItemIndex %>' />
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

'System.Web.UI.Control'不包含'DataItemIndex'的定义,并且没有可以找到接受类型'System.Web.UI.Control'的第一个参数的扩展方法'DataItemIndex'(你是否缺少using指令?或汇编参考?)

传递命令参数的正确方法是什么?此按钮位于listview的itemtemplate中的内部和updatepanel.

谢谢,阿里

小智 8

非常感谢DavidGouge和Jason Berkan.我使用它

CommandArgument='<%#DataBinder.Eval(Container, "DataItemIndex")%>'
Run Code Online (Sandbox Code Playgroud)

但是,我认为这两个建议也应该有效.


小智 6

如果您使用的是Repeater,则可以使用" Container.ItemIndex "来检索项目索引.