日期:2014-05-17  浏览次数:20565 次

动态加载按钮控件,点击按钮后,按钮会被隐藏,并且按钮不能触发
动态加载按钮控件,点击按钮后,按钮会被隐藏,并且按钮不能触发

aspx页面
<asp:DataList...(省略)
<Panel runat="server" id="panel_Control">
</Panel>
</asp:DataList>

cs页面
protected void dl_Detail_ItemDataBound(object sender, DataListItemEventArgs e)
{
  ImageButton iBtn = new ImageButton();
  iBtn.ImageUrl = arr_ImageUrl[i].ToString();
  iBtn.Width=Unit.Parse("80px");
  iBtn.Click += new ImageClickEventHandler(iBtn_Click);
  panel_Thums.Controls.Add(iBtn);
}

protected void iBtn_Click(object sender, ImageClickEventArgs e)
  {
  Response.Write(((ImageButton)sender).ImageUrl);
  }

另外,整个页面是在母版页中

如果没有母版页的话,是正常的,这是什么原因呢?

------解决方案--------------------
代码我在网上见过,现在找不到了。不过我可能给你大概写下,具体的你自己根据情况改。

**.cs:
----------------------------
using System;
.....
.....
public partial class test_pages_testpage : System.Web.UI.Page
{
bool showit //一标志
{
get{
if(ViewState["show"]==null)
return false;
else
return (bool)ViewState["show"];
}
set{
ViewState["show"]=true;
}
}

 
protected void Page_Load(object sender, EventArgs e)
{
if (showit)
{
//创建你的控件
}
}

protected void ***method() //触发的事件,在你的这里换成temDataBound()
{
showit=true;
}


protected void bt1_click() //控件的事件
{
//相关语句
}
}
-----------------------
以上代码你试下。 我记得还要在***method 中创建相ID的控件的,具体作用我不太清楚,你可以试下。
------解决方案--------------------
你可以使用JS将按钮控制哇。【、
点击按钮的时候出发JS事件,将这个按钮隐藏掉