c# - ASP.NET FindControl 的文本框并获取值
问题描述
我动态添加了一个文本框,如下所示:
TextBox tb = new TextBox();
tb.ID = "Tb1;
tb.Text = "Tb1";
Panel1.Controls.Add(tb);
当我尝试检索该值时,它失败了,因为显然它找不到它并且它被分配了 null :
TextBox tb = Page.FindControl("Tb1") as TextBox;
Label1.Text = tb.Text; //this doesn't work because tb is apparently null
解决方案
TextBox tb = Panel1.FindControl("Tb1") as TextBox;
FindControl 方法可用于访问其 ID 在设计时不可用的控件。该方法仅搜索页面的直接或顶级容器;它不会递归搜索页面中包含的命名容器中的控件。要访问从属命名容器中的控件,请调用该容器的 FindControl 方法。
推荐阅读
- php - 从批处理命令运行 php 服务器
- vue.js - Nuxt.JS scss 不加载 svg 文件
- javascript - 如何训练 LSTM 对 tensorflow.js 中的垃圾邮件进行分类?
- python - 为什么 Python 会错误地调用子进程命令?
- javascript - 自填充依赖选择框
- html - 将 xml 结果保存到 SQL 表中的列
- ruby-on-rails - Rails 模型回调不保存实例方法结果
- c++ - 使用 std::forward 评估参数包的扩展究竟如何?
- python - 如何在没有全局变量的情况下存储点击位置?Matplotlib/Python
- javascript - onkeyup 函数只允许字母。同时也否定 PgUp、Del、ArrowLeft 等键