首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从DataList(B)中获得DataList(A)中的选定索引?

如何从DataList(B)中获得DataList(A)中的选定索引?
EN

Stack Overflow用户
提问于 2019-03-23 20:59:45
回答 2查看 111关注 0票数 0

我无法获得DataList的索引,该索引位于DataList内部。

我在DataList里面有一个DataList。

为了澄清形象:

代码语言:javascript
复制
<DataList ID="A">
         <DataList ID="B">
         </DataList>
   </DataList>

我需要选择DataList B的索引值,以便在MySql表中使用它。

我试图在CS中通过以下方法获得索引值:

代码语言:javascript
复制
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[e.Item.ItemIndex].ToString();

但是它总是返回以下错误: System.NullReferenceException:‘对象引用没有设置为对象的实例。’

BDL为空。

代码语言:javascript
复制
protected void BDataList_ItemCommand(object source, DataListCommandEventArgs e)
    {
                DataList BDL= (DataList)e.Item.FindControl("BDataList");
                int index = e.Item.ItemIndex;
                MyLabel.Text = "" + BDL.SelectedIndex;
    }




<DataList ID="A" OnItemDataBound="ADataList_ItemDataBound" OnItemCommand="ADataList_ItemCommand" DataKeyField="ID">
         <DataList ID="B" OnItemCommand="BDataList_ItemCommand" DataKeyField="ID">
         </DataList>
</DataList>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-11 15:18:05

这解决了我的问题:https://forums.asp.net/t/2154278.aspx?How+to+get+Selected+Index+from+DataList+B+that+is+inside+DataList+A+

我只需要做

代码语言:javascript
复制
DataList BDL =    e.Item.NamingContainer as DataList;
票数 0
EN

Stack Overflow用户

发布于 2019-04-27 13:54:46

代码语言:javascript
复制
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[BDL.Item.ItemIndex].ToString();

我想你对两个数据表使用了相同的索引。这个代码可能不适合您,但是您的algoritm应该是这样的:

  1. 获取选定的第二个数据表
  2. 在第二个列表中获取选定的值
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55318318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档