我的datalist控件中有linkbotton,panel
id分别为linkbotton1,panel1,panel1的visible=fasle
linkbotton的commandname=view
在datalist控件中有事件Itemcommand
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "viewclass")
{
panel panel1=(panel)datalist1.FindControl("panel1");
panel1.visible=true;
}
但是并不能编译成功,说要用new来定义panel1。。
怎么得到datalist控件中的子控件?
再线等呀。。
id分别为linkbotton1,panel1,panel1的visible=fasle
linkbotton的commandname=view
在datalist控件中有事件Itemcommand
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "viewclass")
{
panel panel1=(panel)datalist1.FindControl("panel1");
panel1.visible=true;
}
但是并不能编译成功,说要用new来定义panel1。。
怎么得到datalist控件中的子控件?
再线等呀。。
上面写错了。
得到子控件可以用e.Item.FindControl("ControlID");得到
if (e.CommandName == "viewclass")
{
Panel panel1=(Panel )e.Item.FindControl("panel1");
panel1.Visible=true;
}
panel1.visible=true;private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
String command = ((Button)e.CommandSource).CommandName;
Button btnNew;
Panel pnlNew;
switch(command)
{
case "New" :
btnNew = (Button)e.Item.FindControl("btnNew");
pnlNew = (Panel)e.Item.FindControl("pnlNew");
btnNew.Visible = false;
pnlNew.Visible = true;
break;
case "UnSave" :
btnNew = (Button)e.Item.FindControl("btnNew");
pnlNew = (Panel)e.Item.FindControl("pnlNew");
btnNew.Visible = true;
pnlNew.Visible = false;
DataList1.EditItemIndex = -1;
BindData();
break;
}
}
修改为:
Panel panel1=(Panel)datalist1.Items[e.Item.ItemIndex].FindControl("panel1");