[求助]关于在DataList取值的问题
我在DataList中有三个字段:UserID,UserNM,InfoID。其中UserID设置为DataKeyField;UserNM设置为LinkButton,其绑定的字段显示为UserNM;另外还有一个Label,其绑定显示的text为InfoID的值。我现在只想显示UserNM给用户看,绑定InfoID的Label的visible=false。
<asp:datalist id="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="3" BackColor="#99cccc" Width="285" CellSpacing="1" GridLines="Both" CellPadding="1" BorderWidth="1" DataKeyField="UserID">
<HeaderTemplate>用户列表</HeaderTemplate>
<ItemStyle Font-Size="9pt" HorizontalAlign="Center" Height="23px" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate> <asp:linkbutton id="Linkbutton1" runat="server" CommandName="edit_user" ToolTip="编辑当前用户的相关信息"><%#DataBinder.Eval(Container.DataItem,"UserNM")%></asp:linkbutton>
<asp:Label id="Label_InfoID" runat="server" Visible="false"><%#DataBinder.Eval(Container.DataItem,"InfoID")%></asp:Label>
</ItemTemplate>
<HeaderStyle Font-Size="9pt" Font-Bold="True" HorizontalAlign="Center" Height="25px" BackColor="#CCCCFF"></HeaderStyle> </asp:datalist>
在cs文件中:
private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
int iClickNdx = e.Item.ItemIndex;
this.DataList1.SelectedIndex = iClickNdx;
int iUserID = int.Parse(this.DataList1.DataKeys[iClickNdx].ToString());
this.Label1.Text = ((Label)(this.DataList1.Items[e.Item.ItemIndex].FindControl("Label_InfoID"))).Text;
if(e.CommandName.ToString().CompareTo("edit_user") == 0)
{
.
.
.
}
}
在上面的过程中,我想取Label_InfoID的值,可是 this.Label1.Text = ((Label)(this.DataList1.Items[e.Item.ItemIndex].FindControl("Label_InfoID"))).Text; 所返回的始终是空。我又试了下取LinkButton的Text,结果也是空。
不知道是什么原因,郁闷死我了!!! 或者那位高人指点下,有没有其他方法可以达到我的目的亚!
多谢先!!!