发现 Control() 不起作用

2024-03-22

我在按钮单击事件中创建了 5 个文本框,当单击动态生成的按钮时,我必须获取文本框中的值。

protected void Button1_Click(object sender, EventArgs e)
 {
  for(int i=0;i<5;i++)
  {
   HtmlGenericControl tr = new HtmlGenericControl("tr");
   HtmlGenericControl td = new HtmlGenericControl("td");
   HtmlGenericControl tdbtn = new HtmlGenericControl("td");           
   TextBox txt=new TextBox();
   txt.ID="txt_"+i.ToString();
   td.Controls.Add(txt);  
   Button btn=new Button();
   btn.ID="btn_"+i.ToString();
   btn.Click+=new EventHandler(btnpay_Click);
   btn.Text="Pay";    
   tdbtn.Controls.Add(btn);        
   tr.Controls.Add(td);
   tr.Controls.Add(tdbtn);
   PlaceHolder1.Controls.Add(tr);
}

}

但我无法在文本框中获取值btnpay_Click

protected void btnpay_Click(object sender, EventArgs e)
    {

        Button btn = new Button();
        btn = sender as Button;
        string[] splitvaues = btn.ID.Split('_');
        string identity = splitvaues[1];
        TextBox txt = new TextBox();
        txt =PlaceHolder1.FindControl("txt_" + identity) as TextBox;

}

谁能告诉我解决这个问题的方法吗?


你的问题是查找控件 http://msdn.microsoft.com/en-us/library/486wc64h.aspx不会在控制树中递归。它只直接在控制集合 http://msdn.microsoft.com/en-us/library/system.web.ui.controlcollection.aspx容器的。

仅当该控件直接存在时,此方法才会查找该控件 由指明容器盛装;也就是说,该方法不 在控件内的控件层次结构中进行搜索。

您需要编写一个递归FindControl。就像是:

public static Control FindControlRecursive(this Control control, string id)
{
  if (control == null || control.ID == id) return control;

  foreach (var c in control.Controls)
  {
    var found = c.FindControlRecursive(id);
    if (found != null) return found;
  }

  return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发现 Control() 不起作用 的相关文章

随机推荐

  • 无法连接到 MySQLCC 上的 MySQL 服务器 ERROR 1043 Bad Handshake

    我无法使用 MySQLCC 以及我的网页连接到我的 server221 我已成功连接到服务器 253 没有任何错误 我不确定出了什么问题 但我不断收到错误 1043 bad handshake 我确信我的所有用户 ID 和密码都输入正确 我
  • 将预览帧转换为位图

    我知道这个主题已经在黑板上出现过很多次了 但无论如何我都无法让它发挥作用 我想将预览中的视图帧保存为 jpeg 文件 它看起来或多或少 代码被简化 没有额外的逻辑 异常等 像这样 public void onPreviewFrame byt
  • 内存映射文件可以有多大?

    什么限制了内存映射文件的大小 我知道它不能大于未分配地址空间的最大连续块 并且应该有足够的可用磁盘空间 但还有其他限制吗 You re being too conservative A memory mapped file can be l
  • 如何在 Python 中使用“打开方式”功能?

    我目前正在使用一个包含以下代码的 python 脚本 它打开一个包含 JSON 文本的文件并从中确定一个值 browseFiles def browseFiles global fileName fileName filedialog as
  • 将数据网格设置为每页仅显示 5 行

    我正在使用 DOJO 进行数据网格演示 div div 但问题是 grid log 每页不只显示 5 行 这个标签有什么问题吗 为什么忽略 rowsPerPage 5 看起来 rowsPerPage 值不是 查看 的页面 而是 虚拟 页面
  • 如何从 Perl 将输入传送到 Java 命令?

    我需要通过 Java 程序运行一个字符串 然后检索输出 Java 程序通过标准输入接受字符串 以下作品 my output echo string java jar java program jar 有一个问题 string可以是任何东西
  • 在Python中将for循环转换为while循环

    我正在努力寻找一种有效的方法来转换这些for循环到一个工作集while循环 有什么建议么 我用的是2 7 def printTTriangle height for row in range 1 height 1 print row T s
  • 当选项卡控件有太多选项卡时,WS_EX_COMPOSITED 会导致整个应用程序闪烁/微光

    为了解决闪烁问题 我求助于使用WS EX COMPOSITED在 winforms 应用程序中 这可以完美地工作 直到选项卡控件获得如此多的选项卡以至于它创建了 滚动箭头 此时 我的整个应用程序看起来就像不断重绘 到处都在闪烁 为了看看这是
  • 将 null 分配给角度 4 中的接口

    我有一个 Angular4 界面 interface StatusDetail statusName string name string 我已经给它分配了一些值 比如 角度分量 export class EditComponent imp
  • 如何在 Rust 中指定枚举的基础类型? [复制]

    这个问题在这里已经有答案了 给定一个带有一些非类型化值的简单枚举 该枚举的大小可能需要使用比默认值更小的整数类型 例如 这提供了将枚举存储在数组中的能力u8 enum MyEnum A 0 B C 可以使用u8数组并将它们与一些常量进行比较
  • glassfish 是否支持 jvm 参数中的密码别名?

    我正在尝试使用别名密码作为 jvm arg 但别名密码似乎没有提供给 Web 应用程序 这是我的domain xml 配置
  • 如何在 Visual Studio 中从搜索中排除 .svn 目录?

    我必须 查找 项目的子文件夹 因为整个项目非常大 搜索时间太长 我还安装了 AnkhSVN 想知道插件中的设置是否也有帮助 如果您使用 在文件中查找 而不是标准搜索 则可以在子文件夹中搜索指定的文件类型 但是 使用 Ultrafind 附加
  • Eloquent ORM 的自定义软删除列和值

    我正在重写 REST 服务 我决定使用 Slim Framework 并且我正在使用 Eloquent ORM 因为它最适合我 以前我已经用一列完成了软删除deleted并将其设置为 1 或 0 以表示是否删除 使用 Eloquent 它为
  • [A]类型无法转换为[B]匹配程序集版本的类型

    就在最近 我开始收到这个奇怪的错误 这只是设计器中的问题 应用程序运行没有问题 我试过了 清除影子缓存 删除 bin obj 文件夹 重建解决方案 删除并重新添加提到的程序集并再次执行上述所有操作 这是完整的错误 A MahApps Met
  • 在 Eclipse 中查找重写方法的实例

    假设我有以下内容 public class TextField private String value public String getValue return value And public class TextField2 ext
  • ASP.NET Core 中应用程序启动逻辑放在哪里

    我想使用 ASP NET Core 2 1 创建一个 Web 服务 该服务在应用程序启动时检查与数据库的连接是否正常 然后在数据库中准备一些数据 检查循环运行 直到连接成功或用户按 Ctrl C IApplicationLifetime 重
  • 面临错误问题:在项目输出中找不到指定的 EntryPointExe ''

    我正在使用 VS2022 17 5 3 和 WPF App net7 0 我正在构建一个要在 Microsoft 商店中发布的应用程序 我遇到错误 在项目输出中找不到指定的 EntryPointExe 我搜索了很多导致此错误的原因 但失败了
  • MSCRM Web 服务是否支持数据库事务?

    人们会假设任何基于网络的数据应用程序数据库事务都是设计的一个组成部分 环顾 CrmService 我找不到任何表明事务性 CRUD 可用的信息 MSCRM 是否不支持 实现此功能 如果是 而我错过了 有人可以指出我正确的方向吗 我担心在我编
  • HAX 内核模块未安装

    我刚刚从官方 android 网站下载了最新的 android studio 并安装了它 但我收到此错误 而不是使用 Intel X 86 仿真器加速器 什么可能导致此错误 emulator ERROR x86 emulation curr
  • 发现 Control() 不起作用

    我在按钮单击事件中创建了 5 个文本框 当单击动态生成的按钮时 我必须获取文本框中的值 protected void Button1 Click object sender EventArgs e for int i 0 i lt 5 i