两个datalist嵌套绑定,我里层的datalist想要获得外层的绑定的ID,是在页面获取不是在后台获取
该怎么搞定?<asp:DataList ID="dlUnit" runat="server" DataKeyField="id" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<img alt="" id='<%# "imgAdd"+Eval("id") %>' src="../img/add.png" onclick="departManage(<%# Eval("id") %>)" style="display:inline" />
<img alt="" id='<%# "imgSubtract"+Eval("id") %>' src="../img/subtract.png" onclick="departManage(<%# Eval("id") %>)" style="display:none" />
<input type="checkbox" id='<%# "chkUnit"+Eval("id") %>' onclick='checkAll(<%#Eval("id") %>)' />
<asp:Label ID="lblUnitName" runat="server" Text='<%# Eval("unit_sname") %>'></asp:Label><br />
<div id='<%# "divUser"+Eval("id") %>' style="display:none">
<asp:DataList ID="dlUser" name="dlUser" runat="server" RepeatDirection="Horizontal" RepeatColumns="13">
<ItemTemplate>
<input type="checkbox" id="chkUser" name="chkUser" value='<%# Eval("id") %>' /><%# Eval("user_truename") %>
</ItemTemplate>
</asp:DataList>
</div>
</ItemTemplate>
<ItemStyle Font-Size="20px" />
</asp:DataList>我里层的input checkbox想要获得外层的ID该怎么做?
该怎么搞定?<asp:DataList ID="dlUnit" runat="server" DataKeyField="id" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<img alt="" id='<%# "imgAdd"+Eval("id") %>' src="../img/add.png" onclick="departManage(<%# Eval("id") %>)" style="display:inline" />
<img alt="" id='<%# "imgSubtract"+Eval("id") %>' src="../img/subtract.png" onclick="departManage(<%# Eval("id") %>)" style="display:none" />
<input type="checkbox" id='<%# "chkUnit"+Eval("id") %>' onclick='checkAll(<%#Eval("id") %>)' />
<asp:Label ID="lblUnitName" runat="server" Text='<%# Eval("unit_sname") %>'></asp:Label><br />
<div id='<%# "divUser"+Eval("id") %>' style="display:none">
<asp:DataList ID="dlUser" name="dlUser" runat="server" RepeatDirection="Horizontal" RepeatColumns="13">
<ItemTemplate>
<input type="checkbox" id="chkUser" name="chkUser" value='<%# Eval("id") %>' /><%# Eval("user_truename") %>
</ItemTemplate>
</asp:DataList>
</div>
</ItemTemplate>
<ItemStyle Font-Size="20px" />
</asp:DataList>我里层的input checkbox想要获得外层的ID该怎么做?
-------------------------------------
你想怎么获取
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataList dl = (DataList)e.Item.FindControl("内层datalist控件ID");
Label id = (Label)e.Item.FindControl("ID");
dl.DataSource = 数据绑定
dl.DataBind();
}
---------------------------------你的checkbox 想绑定外层的那个id ,想绑定在那里
绑定在id或name里,现在只要做到这一步,用js显示影藏就很容易了
<input type="checkbox" id="chkUser" name="chkUser" value='<%# Eval("id") %>' /><%# Eval("user_truename") %>
=》
<input type="checkbox" id="chkUser" name="<%#GetCKBName(Container)%>" value='<%# Eval("id") %>' /><%# Eval("user_truename") %>
protected string GetCKBName(DataListItem dl)
{
string name="chkUser";
DataListItem item=dl.NamingContainer.NamingContainer as DataListItem;
if(item!=null)
{
//这里不知道你的绑定项是什么,猜的是DataTable
DataRowView drv =item.DataItem as DataRowView ;
if(drv !=null)
{
name=string.Format("{0}{1}",drv["id"],name);
}
} return name;
}