发现 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() 不起作用 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 无法连接到 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