【问题标题】:Dynamic Textboxes动态文本框
【发布时间】:2011-06-04 18:23:01
【问题描述】:

我有一个网格视图 - GridView1。
我通过代码动态地向这个 Gridview1 添加行。
其中一列是从 sqldatasource 读取的下拉列表。
文本框、下拉列表和 sql 数据源都是数组。
如果我更改下拉列表的值,即使在任何按钮单击事件上重新加载页面后,它也会保持其状态。 还行吧。 但是,不会保留文本框的值。
假设我在文本框中输入“Hello World”并单击“添加”按钮,我想收集下拉列表中的文本值(我可以阅读)和文本框中的值(返回空白。) 请建议一种方法,以便在单击添加按钮时可以检索我在文本框中键入的值。 每个文本框都有一个唯一的 ID,我尝试使用 ID 来获取其值
例如
protected Sub Add_Click(ByVal sender As Object, ByVal e As System.EventArgs) 处理 add.click
{
Dim valueinText = gettext(1).text }
现在如果我在文本框中输入“Hello World”:gettext(1),
结果: valueinText = ""

提前致谢

【问题讨论】:

    标签: vb.net textbox viewstate pageload


    【解决方案1】:

    我试图在每个 page_load 事件上创建相同的文本框。但这只是抹去了他们的价值观,他们的 client_ID 一直在变化。

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

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

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

    谢谢!

    【讨论】:

      【解决方案2】:

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

      If Page.IsPostback Then
      
         'Code that uses dropdownlistAtoZ.SelectedValue
         'to fill in correct value for Textboxes.
      
      End If
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-18
        • 1970-01-01
        • 2014-08-02
        • 2014-12-07
        • 2011-01-28
        • 2013-02-02
        相关资源
        最近更新 更多