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

hj3793 2011-04-21 05:42:37
我在代码中动态创建了一个 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);
}
}
}
...全文
159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengchengbaishi 2011-04-21
  • 打赏
  • 举报
回复
我也正在困惑中,求解!
hj3793 2011-04-21
  • 打赏
  • 举报
回复
up~~~~~~~~~~~~~~

110,476

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧