在c#中获取动态创建的文本框的值

时间:2013-06-05 15:32:53

标签: c# asp.net .net

我已经搜索过很多东西,发现了一些可能有用的东西,但是我不能在我的代码中实现它们,而且,这不是我需要的代码。

基本上,我希望有一个库存更新网页表单。当您到达该页面时,会有一个下拉列表,根据您选择的项目(添加库存,删除库存),页面上会显示不同的选项。

话虽如此,我试图根据autopostback下拉列表动态创建不同的字段,并且我的字段看起来很好。但是,我无法获得我需要的任何值。

例如,每当我尝试设置时     theText = textBox1.Text

它出现了null。

使用java脚本会更容易,还是我错过了什么? 感谢

2 个答案:

答案 0 :(得分:1)

虽然你的问题非常模糊,因为没有人知道你的代码是什么样的或它在哪里,但在处理动态创建的控件时,需要记住两个指导原则:

  1. 应创建所有控件并将其添加到Page_Load中的页面,以便可以通过ViewState设置事件和属性。
  2. 访问属性时,需要在Page_Load之外访问它们,因为这些值尚未绑定,因此尚未可用。您需要在PreRender
  3. 等事件中获取这些值

答案 1 :(得分:0)

如果您知道动态控件的ID,可以使用Page.FindControl()找到它:  http://msdn.microsoft.com/en-us/library/31hxzsdw.aspx