DataList中选择列的实现与数据的取得:


1.通过隐藏Label,然后得到其值的方法得到id号
<ItemTemplate>
 <TABLE id="Table1" cellSpacing="1" cellPadding="1" width="300" border="1">
  <TR>
   <TD>
<asp:LinkButton id="LinkButton1" runat="server" CommandName="select" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"CustomerID")%>'>
 <%# DataBinder.Eval(Container.DataItem,"CompanyName")%>
</asp:LinkButton></TD>
   <TD>
<asp:Label id="Label1" runat="server">
 <%# DataBinder.Eval(Container.DataItem,"CustomerID")%>
</asp:Label></TD>
  </TR>
 </TABLE>
</ItemTemplate>
--得到值
protected void CustomersList_ItemCommand(object Sender, DataListCommandEventArgs e)
{
      // 得到datalist的命名
      string cmd = ((LinkButton)e.CommandSource).CommandName;
      if (cmd == "select")
         ((DataList)Sender).SelectedIndex = e.Item.ItemIndex;
 //选择新的index时重显数据
         BindList();
 //保留customerID
        ViewState[_customerID] = ((Label)e.Item.FindControl("CustomerID")).Text;
}
--或,现在没有明白这两者的区另,可能microsot只是为的体现不同的技巧

private void CustomerList_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{   
 string _customerID;
 _customerID=(string) e.CommandArgument;
 Label2.Text=_customerID;
}

原文地址:https://www.cnblogs.com/hhq80/p/631818.html