如何获取自定义控件中的数据
我在代码中动态创建了一个 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);
}
}
}
------------------------------------------------------------------------------
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);
}
}
}
...全文
相关推荐
自定义控件获取数据加载数据.zip
根据属性获取控件值;绑定DataTable数据给控件;简化大量重复的工作;代码只是提供一个思路,并不包括所有控件,只是简单的示例两个控件
64. XPages自定义控件(三)高级搜索之二
现在来看看63. XPages自定义控件(三)高级搜索之一中提到的RecordView自定义控件的代码。从控件的设计视图自上而下可以看到用于条件查询的控件、一个向用户反馈操作消息的Message自定义控件、常见的视图操作的几个按钮和一个XPages自带的视图控件。 RecordView控件的设计界面RecordView控件从功能上分成的这四个部分,我们来一一检视:用于条件查询的控件RecordVi
Android编程实现在自定义对话框中获取EditText中数据的方法
主要介绍了Android编程实现在自定义对话框中获取EditText中数据的方法,结合实例形式分析了Android对话框数据传递相关操作技巧,需要的朋友可以参考下
asp.net 自定义下拉多选控件
自定义下拉多选控件,支持多选,基于JQuery
经典Labview自定义控件素材包
1、经典Labview自定义控件素材包; 2、已分类进行素材包整理; 3、素材包内包含多种不同大小的控件; 4、开发人员可以对其中的任意控件进行复制到自己当前工程中进行使用;



