【发布时间】:2015-02-01 12:39:26
【问题描述】:
场景: 我已经通过后面的 c# 代码向我的页面动态添加了一个 asp 文本框控件。 我有一个删除该文本框的按钮,用文本框中的文本替换它。
问题: 当我按下按钮时,page_init->page_load->page_prerender 序列启动,擦除我的文本框控件。
我通过 page_prerender 中的方法初始化文本框。
我可以使用 viewstate 来保存值,但看到有启用视图状态等。跨回发持久化动态控件 textbox.text 属性的标准方法是什么?
我必须更新的代码
protected void Page_PreRender(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
else
{
add_tb();
}
}
private void add_tb()
{
Textbox tb = new Textbox();
pnlButtons.add(tb); //this is a panel init'd at design time which also includes a button
}
protected void imgBtn_Click_home(object sender, ImageClickEventArgs e)
{
lblTest.Text=tb.Text; // where do i declare the tb to access it from here and to persist it?
}
另外,我在哪里声明 tb 以从这里访问它并保持它?
【问题讨论】:
标签: c# asp.net dynamic viewstate