ASP.net 在按下按钮时动态添加控件。回发问题

2023-11-29

我有一个包含多个按钮的用户控件,根据按下的按钮,不同的控件会添加到页面中(假设按钮 1 添加一个文本框,按钮 2 添加一个标签)。

我的代码大致如下:

protected void but1_click(object sender, EventArgs e)  
{  
    TextBox tb = new TextBox();  
    tb.ID = "tb1";  
    paramsCtrlDiv.Controls.Add(tb);  
}  

protected void but2_click(object sender, EventArgs e)  
{  
    Label lb = new Label();  
    lb.ID = "lb1";  
    paramsCtrlDiv.Controls.Add(lb);  
}  

然后我有第三个按钮(button3)来获取页面上的所有控件及其值。 (假设本例中每个按钮仅单击一次)。

我的问题是当按下button3时,paramsCtrlDiv.controls数组不包含已添加的控件。我知道我需要在每次回发的 Page_Load 时间添加这些控件。我的问题是,因为我不确切知道用​​户添加了哪些控件,所以我不知道要添加什么 Page_Load (可能有一个文本框,然后是标签,只是一个标签或只是一个 tb),我可以不控制用户按下的内容。

我知道我可以存储会话中的所有内容,但我不确定这是一个优雅的解决方案。不同选项卡上还可以有此控件的多个实例,因此每个实例都必须正确维护其自己的控件集合


因为您是动态执行此操作,所以您需要一种存储您正在执行的操作的方法,以便服务器可以为每个操作重新创建它PostBack。如果你不想使用Session,将数据存储在ViewState(无论时间如何,它都将持续存在于页面中)。创建一个List<YourControlObjects>并确保它是Serializable然后将其存储在ViewState。您可能想要存储控件类型、位置等,以便可以在其上重建它Page_Load每次有一个PostBack.

问题归结为您需要为这些动态创建的控件维护自己的状态。这只是一个建议,但您可以通过多种不同的方式来做到这一点。

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

ASP.net 在按下按钮时动态添加控件。回发问题 的相关文章

  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 有没有办法使用 ASP.NET 在用户离开页面时始终运行某些服务器端代码?

    我想知道当用户离开 ASP NET 中的页面时是否有任何方法可以始终运行一些服务器端代码 页面卸载事件不好 因为如果有人单击链接 则不会调用该事件 理想情况下 即使用户关闭浏览器 我也希望代码能够运行 我怀疑我所问的问题是不可能的 但问一下
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 使用 WGL 创建现代 OpenGL 上下文?

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

随机推荐

  • GAE 无法查找 mongodb atlas 实例的 SRV 记录

    我有一个在 Atlas 上运行的 mongodb 实例和一个在 GAE 上运行的 Spring Boot 应用程序 试图访问该数据库 我在本地运行它没有问题 但在 GAE 上运行时我在日志中看到此错误 com mongodb MongoCo
  • 使用 Zebra 打印机 [ZPL] 打印阿拉伯文本

    正如标题所说 是否有任何选项可以打印阿拉伯语内容 ZPL Printer 尝试的事情是添加字体并启动打印 XA FX FR CF0 40 CI28 FO130 45 FH FD Font file FS XZ 我的打印机安装了 TT0003
  • 在 mat-select 中设置默认选项

    我的 Angular 材质项目中有一个简单的选择选项表单字段 组件 html
  • 抽象类中的构造函数有什么用? [复制]

    这个问题在这里已经有答案了 既然我们无法实例化抽象类 那么抽象类中有构造函数的必要性是什么呢 抽象类被设计为可扩展的 每个构造函数都来自子类必须从基类调用构造函数 因此您的抽象类中需要构造函数 抽象类是一个骨架 因此直接实例化它是没有意义的
  • 将元素固定到顶部

    我有一个固定在顶部 x y 轴的元素 有什么方法可以将其更改为仅固定到 x 轴吗 例如 这样我就可以将固定元素向左和向右滚动 当前代码 div style width 100 The fixed header element div div
  • git-log 缺少撤消更改的合并提交

    考虑这个测试脚本 bin sh x initialize repository rm rf missing merge log mkdir missing merge log cd missing merge log git init cr
  • NSPredicate:如何将字符串视为数字?

    我正在 iOS 应用程序中使用 sqlite 上的核心数据构建一个复合 NSPredicate 来发出获取请求 一切都已经工作正常 但我无法包含最后一个条件 原因很简单 我需要检查存储为字符串的值是否在特定的浮点范围内 问题在于条件是按字母
  • 设置 SQL SERVER Express 2017 以允许远程连接

    刚刚从重大崩溃中恢复我的服务器 这导致 Windows Server 2016 被重新安装 我有一个连接到 sql server 数据库的桌面应用程序 问题是现在我在服务器上设置了数据库 我不记得如何将其提供给外部源 应用程序 你能帮我吗
  • 禁用 Woocommerce 中特定类别的购物车项目的其他产品类别

    我正在开发一个网上商店 有不同的方面 第一个是常规商店 第二个是夜间啤酒服务 我已经搜索过 但找不到我要找的东西 首先 夜间啤酒服务是一个特定类别 不应与常规商品一起订购 如果类别 beerservice 在购物车中 禁用所有其他类别添加到
  • 从文件名中删除特殊字符的脚本

    我有一个包含大量文件的文件夹 许多文件名中都包含 和 或 字符 e g Test doc pdf e g Test doc doc 有没有一种快速方法可以使用 Windows 批处理文件 vbscript 或类似文件删除 和 字符 我们将不
  • 我如何在 Windows 7 x64 上将 jboss EAP-7.0.0 作为 Windows 服务运行?

    我已经在 Windows 7 x64 操作系统上安装了 Jboss EAP 7 0 0 当我通过bin目录中的standalone bat文件运行Jboss EAP 7 0 0时 它启动没有任何问题 并且部署的 war文件也可以正常工作 但
  • 从 IronPython 初始化 C# List

    我在 C 中有一个相对较深的对象树 需要从 IronPython 进行初始化 我是 python 新手 我正在努力处理数组的初始化 举个例子 假设我在 C 中有这些类 public class Class1 public string Fo
  • 资源图片的绝对UriSource

    我有一个 WPF 项目 如果我将图像存储在 ProjectRoot Images image png 中 并将其编译为资源 那么我可以通过 xaml 此 xaml 位于根目录 将其作为 BitmapImage 访问BitmapImage U
  • django 导入错误 - 没有名为 core.management 的模块

    好吧 我看到很多这样的错误 我已经尝试了我所知道的一切 但尚未弄清楚这一点 我正在开发一个运行 python 2 5 和 Django 1 3 的开发服务器 解压 tar gz 下载后 使用 python setup py install
  • 更快的 JsonCpp 替代方案允许 Json 对象的复制/可变性?

    JsonCpp 很慢 而且代码相当混乱 有没有更快 更干净并且支持以下内容的替代方案 Json Value val copy val newMember 100 val newMember2 hello copy val val newMe
  • 将 COM 事件公开给 VBScript (ATL)

    我通过使用 ATL 简单对象 向导 用 C 和 ATL 构建了一个 COM 服务器 DLL 我关注的是微软的ATLDLLCOM服务器例子 除了一件事之外 一切都运行良好 我在 VBScript 中没有收到 COM 事件 我确实收到了 C 中
  • 单击时更改表格行的颜色

    我创建了一个表格 其中的行具有交替的颜色 例如黄色和红色 现在 我想将单击的行的颜色更改为一种常见颜色 例如蓝色 再次单击时恢复为原始颜色 我可以使用此代码更改颜色 mainTable find IDClicked css backgrou
  • C++如何包含(循环依赖)?

    我有Environment h 文件 include
  • 我的脚本无法在 IE(甚至 9)中运行?简单的 javascript 修改复制文本

    所以有一天我在浏览互联网时 复制了一段文字 我很酷的文字 并粘贴到Facebook上 却发现它变成了 我很酷的文字 阅读更多内容URL 我惊叹不已 太棒了 所以我深入研究并找到了一些教程等 我自己将其转换为具有数十个选项的可自定义插件 并输
  • ASP.net 在按下按钮时动态添加控件。回发问题

    我有一个包含多个按钮的用户控件 根据按下的按钮 不同的控件会添加到页面中 假设按钮 1 添加一个文本框 按钮 2 添加一个标签 我的代码大致如下 protected void but1 click object sender EventAr