绑定列中的子控件如何处理? 在一个DataGrid的绑定列中有一个DataList,在DataList每行中有Button、Label,在DataGrid每行中有按钮,我要在DataGrid中如何做才能获得DataList中点击按钮后该行的Label值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个很简单的<asp:DataGrid ID="Grid1" Runat="server"> <asp:DataList ID="DataList1" Runat="server" OnItemCommand="DataList1_ItemCommand"><ItemTemplate> <asp:Label ID=lblTest Runat =server></asp:Label></ItemTemplate></asp:DataList></asp:DataGrid>在后台代码中:public void DataList1_ItemCommandobject source, System.Web.UI.WebControls.DataListCommandEventArgs e){if (e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){ Label lblTest=e.item.FindControl("lblTest");}}就行了 </ItemTemplate> </asp:Repeater> </td> 前台代码写错了,应该是<asp:DataGrid ID="Grid1" Runat="server"><Columns> <asp:TemplateColumn> <asp:DataList ID="DataList1" Runat="server" OnItemCommand="DataList1_ItemCommand"><ItemTemplate> <asp:Label ID=lblTest Runat =server></asp:Label></ItemTemplate></asp:DataList></asp:TemplateColumn></Columns></asp:DataGrid> 但这并不是在DataGrid中得到的啊,DataGrid又是哪一行呢? 你这个问题有点绕,有个思路比如你在DataGrid 的ItemCommand事件中处理 则DataList dl = (DataList)(e.Item.FindControl(datalist的ID)); 对于datalist的dl再找点击按钮的这一行DataListItem dli,再用dli去findcontrol 那个Label应该可以吧,我没试过,但findcontrol是这样用的! 致上一楼: fisher12345(fisher) 这样做不能得到DataList的事件参数,也就是那个e 不能定确定下来。 能说说你的目的吗?虽然我的代码是在datalist的itemcommand事件里,但是也能够在里面处理datagrid里当前行的数据,只要用(DataGridItem)e.parent就行了 我用这样一个思路的目的就是实现主从表结构。在DataGrid中实现主表记录,DataList内实现从表记录,再用一个按钮来处理是否关闭当前DataList的显示,这样做的好处显而易见。 求jquery上传文件 要上传文件最大为2M 帮忙详细解释下这段javascript代码 - - asp.net论坛源码 点击按钮 如何将dropdownlist 选中项文本 复制到剪贴板 FormsAuthenticationTicket的问题 读取二进制文件 请看以下问题出在哪了??? 我想在.aspx文件里把数据库里的数据取出来的长度固定,比如20,或者100的长度该怎么做? asp.net中的SHA1加密问题,请大家帮忙 菜鸟问题:如何取得一个目录的大小? 如何将硬盘中的若干张图片显示在一个DataGrid中。 Read()是记录向下一条,怎样可以是记录向上一条?(在线等,马上结帐)
<asp:DataGrid ID="Grid1" Runat="server">
<asp:DataList ID="DataList1" Runat="server" OnItemCommand="DataList1_ItemCommand">
<ItemTemplate>
<asp:Label ID=lblTest Runat =server></asp:Label>
</ItemTemplate>
</asp:DataList>
</asp:DataGrid>在后台代码中:
public void DataList1_ItemCommandobject source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
if (e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
Label lblTest=e.item.FindControl("lblTest");
}
}就行了
</ItemTemplate>
</asp:Repeater> </td>
<asp:DataGrid ID="Grid1" Runat="server">
<Columns>
<asp:TemplateColumn>
<asp:DataList ID="DataList1" Runat="server" OnItemCommand="DataList1_ItemCommand">
<ItemTemplate>
<asp:Label ID=lblTest Runat =server></asp:Label>
</ItemTemplate>
</asp:DataList>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
你在DataGrid 的ItemCommand事件中处理
则DataList dl = (DataList)(e.Item.FindControl(datalist的ID));
对于datalist的dl再找点击按钮的这一行DataListItem dli,再用dli去findcontrol 那个Label应该可以吧,我没试过,但findcontrol是这样用的!