C# ascx控件中的动态表问题
我在ascx用户控件中有下表:C# ascx控件中的动态表问题,c#,.net,asp.net,ascx,C#,.net,Asp.net,Ascx,我在ascx用户控件中有下表: 我动态创建tblChangeSerNo,并在文本框中预先填充数据库中的当前值。控件的思想是允许用户使用新值更新DB的值。问题是当调用btChangeSerNo\u onClick方法时: 由于我在预渲染时执行此操作,因此未渲染该表 即使我在页面加载时呈现了表,我也无法访问用户的更新值,因为它们丢失了 如何解决此问题?最佳实践方法是使用网格控制 如果您希望坚持使用自己的代码,请执行以下步骤: 将所有文本框存储在全局字段中,例如,public List m_t
我动态创建tblChangeSerNo
,并在文本框中预先填充数据库中的当前值。控件的思想是允许用户使用新值更新DB的值。问题是当调用btChangeSerNo\u onClick
方法时:
- 由于我在预渲染时执行此操作,因此未渲染该表
- 即使我在页面加载时呈现了表,我也无法访问用户的更新值,因为它们丢失了
如何解决此问题?最佳实践方法是使用网格控制 如果您希望坚持使用自己的代码,请执行以下步骤:
public List m_tabletextboxs=new List()代码>并在创建时添加到该列表
Page_加载中创建动态控件
,但仅在未回发时执行:if(!Page.IsPostBack){…}
以前也做过类似的事情,所以这个概念应该是可行的。问题是代码在ascx控件中,因此公共列表m_tableTextBox=new List();即使是交叉回发,每一次都会执行一行:(@woola这不要紧。据我记忆所及,一旦控件添加到页面中,除非显式覆盖,否则它们应该保留在回发上。我可能错了,但肯定值得一试。你能给我们看一下后面的代码吗?