2011-01-06 103 views
1

我有一个gridview - GridView1。
我正在通过代码在这个Gridview1中通过dyanamically添加行。
其中一列是从sqldatasource读取的下拉列表。
文本框,下拉列表& sql数据源都是数组。
如果我更改了下拉列表的值,即使在页面重新加载任何按钮单击事件后,它仍然保持其状态。 这很好。 但是,不保留文本框的值。
说我在文本框中输入“Hello World”&点击“添加”按钮,我想收集下拉列表中的文本值(我可以看到)&文本框中的值(返回空白) 请建议一种方法所以当添加按钮点击我可以检索我输入的文本框中的值。 每个文本框具有一个唯一的ID &我使用ID来得到其数值试图
例如
保护子Add_Click(BYVAL发件人为对象,BYVALË作为System.EventArgs)处理add.click
{
昏暗valueinText = gettext的(1)现在.text区段 }
如果我在文本框中键入的 “Hello World”:gettext的(1),
Reults: valueinText = “”动态文本框

在此先感谢

回答

1

您必须重置未绑定文本框的值,以便在回发时从代码中获取其值。在你的页面加载事件...

If Page.IsPostback Then 

    'Code that uses dropdownlistAtoZ.SelectedValue 
    'to fill in correct value for Textboxes. 

End If 
0

我试图在每个page_load事件上创建相同的文本框。但是这只是删除了他们的client_ID不断变化的值&。

相反,我尝试制作所有文本框共享和创建它们只有一次添加单击事件,将它们添加到行(这是再次共享)和page_load如果page.postback = true我刚刚添加行到表再次。如果您不这样做,则在重新加载时不会显示该行。

这解决了我的问题(现在在文本框中输入的值不像以前那样清除)。 我通过classname.textboxname(i).text访问了该值。

现在的解决方案似乎很明显,但我花了几天试图解决这个问题。

谢谢!