求教:如何能在oncheckedchange里获得当前repeaterItem的DataItem
我在使用oncheckedchange时.能取得当前Repeater的Item但是为什么取不到DataItem呢?
当点第三个复选框里输入如下结果,只是DataItem没有.求高人指点.
checkbox:True
ItemIndex:2
hiddenField:cccccccccccc
dataItem:
HTML:======================================================================================
<asp:Repeater ID="testList" runat="server">
<ItemTemplate>
<asp:CheckBox runat="server" ID="checkBox" AutoPostBack="true" OnCheckedChanged="WebForm1_CheckedChanged"/><%#Container.DataItem %><br />
<asp:HiddenField ID="infoText" runat="server" Value='<%#Container.DataItem %>' />
</ItemTemplate>
</asp:Repeater>
CS:==========================================================================================
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string[] dataSource = { "aaaaaaaaaaa", "bbbbbbbbbbbb", "cccccccccccc", "ddddddddddddddd" };
testList.DataSource = dataSource;
testList.DataBind();
}
}
public void WebForm1_CheckedChanged(object sender, EventArgs e)
{
CheckBox chk = (CheckBox)sender;
Response.Write("checkbox:"+chk.Checked+"<br/>");
RepeaterItem item = chk.NamingContainer as RepeaterItem;
Response.Write("ItemIndex:"+item.ItemIndex.ToString()+"<br/>");
HiddenField hiddenField = item.FindControl("infoText") as HiddenField;
Response.Write("hiddenField:"+hiddenField.Value+"<br/>");
string dataItem = item.DataItem as String;
Response.Write("dataItem:"+dataItem);//只有它没有内容
}