[英]How to get Selected Index from DataList(B) that is inside DataList(A)?
我无法获取DataList内的DataList的索引。
我在DataList中有一个DataList。
澄清图像:
<DataList ID="A">
<DataList ID="B">
</DataList>
</DataList>
我需要DataList B的Selected Index值,所以我可以在MySql表中使用它。
我在CS中尝试通过以下方式获取Index值:
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[e.Item.ItemIndex].ToString();
但它始终返回此错误:System.NullReferenceException:'对象引用未设置为对象的实例。
BDL无效。
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>
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[BDL.Item.ItemIndex].ToString();
我认为你对两个datalist使用了相同的索引。 这段代码对你来说可能不对,但你的算法应该是这样的:
这解决了我的问题: https : //forums.asp.net/t/2154278.aspx ?How+to+get+Selected+Index+from+DataList+B+that+is+inside+DataList+A+
我只是必须这样做
DataList BDL = e.Item.NamingContainer as DataList;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.