我通常使用像这样的表达式
CommandArgument='<%# Container.DataItemIndex.ToString() %> '
但我在msdn中找不到Container,你可以帮忙吗?
由于
答案 0 :(得分:2)
Container
是一个仅适用于数据绑定表达式的关键字,是对命名容器的引用。
从MSDN(如何:访问控件的命名容器的成员)中查看此内容:
在数据绑定表达式中,使用Container关键字,该关键字返回对容器的引用。
和this(使用NamingContainer属性确定控件的命名容器):
... Container关键字,仅在内联代码中可用(即在声明性&lt;%#%&gt;表达式中)...
答案 1 :(得分:1)
Container通常由实现INamingContainer接口的对象表示。但是,这不是一个严格的规则。您可以在MSDN中阅读此内容:
http://msdn.microsoft.com/en-us/library/bda9bbfx(VS.71).aspx
如果您想知道Container对象的类型,我建议您使用以下方法:
定义以下绑定表达式:
CommandArgument='<%# GetCommandArgument(Container)%>
并在页面代码中定义以下方法:
protected string GetCommandArgument(object container) {
return string.Empty;
}
在页面的方法中设置断点,并在QuickWatch中检查容器的类型。希望,这有助于......