如何获取自定义控件中的数据

hj3793 2011-04-21 05:36:14
我在代码中动态创建了一个 Table,并且增加了一行,输出到表单后,点击一个Button回到后台时,这个Table的行就找不到了,也获取不到值,请问该如何处理???

------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ControlGridView
{
[ToolboxData("<{0}:GridTable runat=server></{0}:GridTable>")]
public class GridTable : WebControl
{
public Table TBGrid
{
get
{
if (ViewState["Table"] == null)
{
ViewState["Table"] = new Table();
}
return ViewState["Table"] as Table;
}
set
{
ViewState["Table"] = value;
}
}
public Button btn = new Button();

protected override void OnInit(EventArgs e)
{
base.OnInit(e);
btn = new Button() { Text = "Click Me" };
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(btn);
}

/// <summary>
/// 按钮Click事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void btn_Click(object sender, EventArgs e)
{
// 此时获取TBGrid的Rows.Count为0
// 如何获取TBGrid在表单控件中输入的值??????
}

protected override void Render(HtmlTextWriter writer)
{
TableRow row; TableCell cell;
row = new TableRow();
cell = new TableCell();
cell.Controls.Add(new TextBox() { ID = "txtUser" });
row.Cells.Add(cell);
TBGrid.Rows.Add(row);

this.Controls.Add(TBGrid);
base.Render(writer);
}
}
}
...全文
54 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hj3793 2011-04-21
up~~~~~~~~
  • 打赏
  • 举报
回复
相关推荐
发帖
组件/控件开发
加入

8839

社区成员

.NET技术 组件/控件开发
申请成为版主
帖子事件
创建了帖子
2011-04-21 05:36
社区公告
暂无公告