在程序执行过程中,创建控件,可单击页中的按钮时,创建的控件消失,请问个位高人,如果控件创建的控件在,执行其他操作时不消失。代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
int numrows = 3;//表行数,
int numcells = 4;//每行的Cell数
for (int j=0; j<numrows; j++)
{
TableRow newRow = new TableRow();
for (int i=0; i<numcells; i++)
{
TableCell newCell = new TableCell();
newCell.Controls.Add(new LiteralControl("行 " + j.ToString() + ":"));
TextBox newControl = new TextBox();
newControl.Text = "单元格 " + i.ToString();
newCell.Controls.Add(newControl);
newRow.Cells.Add(newCell);
}
Table1.Rows.Add(newRow);
}
}
}
其Html代码如下:
<%@ Page language="c#" Codebehind="ApplyTable.aspx.cs" AutoEventWireup="false" Inherits="ApplyTable.WebForm1" enableViewState="True"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<body>
<h3><font face="宋体">
<form runat="server" ID="Form1">
<asp:Table id="Table1" Font-Name="宋体" Font-Size="9pt" CellPadding="5" CellSpacing="0" BorderColor="black" Gridlines="Both" runat="server" />
<p>
<asp:Button id="Button2" runat="server" Text="Button"></asp:Button>
</p>
</form>
</body>
</HTML>
点击Button2控钮后,创建控件消失
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
int numrows = 3;//表行数,
int numcells = 4;//每行的Cell数
for (int j=0; j<numrows; j++)
{
TableRow newRow = new TableRow();
for (int i=0; i<numcells; i++)
{
TableCell newCell = new TableCell();
newCell.Controls.Add(new LiteralControl("行 " + j.ToString() + ":"));
TextBox newControl = new TextBox();
newControl.Text = "单元格 " + i.ToString();
newCell.Controls.Add(newControl);
newRow.Cells.Add(newCell);
}
Table1.Rows.Add(newRow);
}
}
}
其Html代码如下:
<%@ Page language="c#" Codebehind="ApplyTable.aspx.cs" AutoEventWireup="false" Inherits="ApplyTable.WebForm1" enableViewState="True"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<body>
<h3><font face="宋体">
<form runat="server" ID="Form1">
<asp:Table id="Table1" Font-Name="宋体" Font-Size="9pt" CellPadding="5" CellSpacing="0" BorderColor="black" Gridlines="Both" runat="server" />
<p>
<asp:Button id="Button2" runat="server" Text="Button"></asp:Button>
</p>
</form>
</body>
</HTML>
点击Button2控钮后,创建控件消失
DataGrid a = MakeGrid(DT);
a.ClientID = Session["ClientID "];
this.Controls.Add(a);
在你的按扭事件里删除
this.Controls.Remove(Session["ClientID "].Tostring());下面这个方法是好用的,,,删除这块没测试,你搞一下。差不多
public DataGrid MakeGrid(DataTable DT)
{
DataGrid mygrid = new DataGrid();
mygrid.CellPadding=3;
mygrid.Attributes.Add("align","center");
mygrid.CellSpacing=0;
mygrid.Width=750;
mygrid.BorderWidth=1;
mygrid.BorderColor=ColorTranslator.FromHtml("#dbe6de");
mygrid.AutoGenerateColumns=false;
mygrid.ForeColor=ColorTranslator.FromHtml("Black");
mygrid.Font.Size=9;
mygrid.Font.Name="宋体";
mygrid.AllowSorting=true;
mygrid.HeaderStyle.BackColor=ColorTranslator.FromHtml("#dbe6de");
mygrid.HeaderStyle.ForeColor=ColorTranslator.FromHtml("Black");
mygrid.HeaderStyle.Font.Name="宋体";
mygrid.HeaderStyle.Font.Size=9;
mygrid.HeaderStyle.Font.Bold=true;
mygrid.HeaderStyle.HorizontalAlign=HorizontalAlign.Center;// ///设置alternating style
// mygrid.AlternatingItemStyle.BackColor=ColorTranslator.FromOle(int.Parse("dbe6de"));
// mygrid.AlternatingItemStyle.ForeColor=ColorTranslator.FromHtml("Black"); ///设置itemstyle
mygrid.ItemStyle.HorizontalAlign=HorizontalAlign.Left; ///创建绑定列和属性
BoundColumn b = new BoundColumn();
BoundColumn c = new BoundColumn();
BoundColumn d = new BoundColumn();
BoundColumn e = new BoundColumn();
BoundColumn f = new BoundColumn();
BoundColumn g = new BoundColumn();
BoundColumn h = new BoundColumn();
BoundColumn i = new BoundColumn();
BoundColumn j = new BoundColumn(); b.HeaderText="关键字";
b.DataField="关键字";
b.HeaderStyle.Width=150; c.HeaderText="状态";
c.DataField="状态";
c.HeaderStyle.Width=50; d.HeaderText="最高每次点击费用";
d.DataField="最高每次点击费用";
d.HeaderStyle.Width=110; e.HeaderText="点击次数";
e.DataField="点击次数";
b.HeaderStyle.Width=100; f.HeaderText="展示次数";
f.DataField="展示次数";
b.HeaderStyle.Width=100; g.HeaderText="点击率";
g.DataField="点击率";
b.HeaderStyle.Width=50; h.HeaderText="平均每次点击费用";
h.DataField="平均每次点击费用";
b.HeaderStyle.Width=100; i.HeaderText="费用";
i.DataField="费用";
b.HeaderStyle.Width=50; j.HeaderText="平均排名";
j.DataField="平均排名";
b.HeaderStyle.Width=40; mygrid.Columns.AddAt(0, b);
mygrid.Columns.AddAt(1, c);
mygrid.Columns.AddAt(2, d);
mygrid.Columns.AddAt(3, e);
mygrid.Columns.AddAt(4, f);
mygrid.Columns.AddAt(5, g);
mygrid.Columns.AddAt(6, h);
mygrid.Columns.AddAt(7, i);
mygrid.Columns.AddAt(8, j); ///绑定和返回
mygrid.DataSource = DT;
mygrid.DataBind();
return mygrid;
}