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 在按下按钮时动态添加控件。回发问题 的相关文章

  • 如何在C编程中获取当前时间(以毫秒为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 ANSI C 测量以毫秒为单位的时间 https stackoverflow com questions 361363 how to measure time in milliseconds
  • 使用 QTextCursor 选择一段文本

    使用 Qt 框架选择文本片段时遇到问题 例如 如果我有这个文件 没有时间休息 我想选择 ime for r 并从文档中删除这段文本 我应该如何使用 QTextCursor 来做到这一点 这是我的代码 QTextCursor cursor n
  • 当“”可以分配给std::string时,为什么有“clear”方法?

    一个可以用string clear函数清空字符串 也可以使用空双引号 来执行此操作 有什么不同 当您分配一个空字符串时 编译器必须在数据部分存储一个空的 C 字符串 并创建代码以将指向它的指针传递给赋值运算符 然后 赋值运算符必须从数据部分
  • 无法在更新面板中找到上传的文件

    aspx
  • 使用 gcc 编译 C 时,预处理的 .i 文件中的数字意味着什么?

    我想了解编译过程 我们可以使用以下命令查看预处理器中间文件 gcc E hello c o hello i or cpp hello c gt hello i 我大致知道预处理器的作用 但我很难理解某些行中的数字 例如 1 usr incl
  • 函数原型和数组参数

    我正在学习 C 语法 并且已经开始研究数组了 我想问你一个问题 但首先让我回顾一下 这样我就知道我已经弄清楚了 我知道您可以使用以下语法将变量定义为数组 name
  • 将内核链接到 PTX 函数

    我可以使用 PTX 文件中包含的 PTX 函数作为外部设备函数 将其链接到另一个应调用该函数的 cu 文件吗 这是另一个问题CUDA 将内核链接在一起 https stackoverflow com questions 20636800 c
  • 优化对绑定到 DataGridView 的 DataTable 的更新

    我的应用程序中有一个显示一些数据的表单 当我第一次显示表单时 我将一些数据加载到 DataTable 中 然后将 DataTable 绑定到 DataGridView 我还启动了一个异步方法来执行一些较慢的数据库查询 当这些慢查询完成时 我
  • 使用 boost::iterator_facade<>

    我有一个链表结构 struct SomeLinkedList const char bar int lots of interesting stuff in here DWORD foo SomeLinkedList pNext 它是现有
  • 为什么测试在 TeamCity 中运行比直接在 NUnit 中运行需要更长的时间?

    我进行了一些 C 性能测试 基本上运行两种不同的方法 并检查一种方法的运行速度是否比另一种方法快得多 当我在 NUnit 本地运行它们时 其中一个测试的运行速度是另一个测试的十倍 因此我有一个 NUnit 测试 它使用Stopwatch检查
  • 适用于 Windows 的键值数据库?

    除了 MongoDB 和 Memcached 之外 Windows 上还运行哪些键值存储 我见过的大多数似乎只能在 Linux 上运行 Hypertable Redis Lightcloud 相关链接 是否有经过商业验证的云存储 Key g
  • 在 Asp.Net 模板中转义内联代码块

    我有一个页面 我希望在其中呈现以下 html 一个小的 JS 模板 然而 Asp NET 预处理器正在拾取 我已经设法通过文字控件来做到这一点 并在后面的代码中设置它的文本 我理想地希望将其保留在 aspx 页面中 这是我能找到的最好的解决
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win
  • 如何忽略搜索条件中的空属性

    我有一个不好的要求要做 无论如何 我必须在我的应用程序中实现它 我有一个Track class public class Track public string Name get set public string City get set
  • 一个对大文件有效的轻量级 XML 解析器?

    我需要解析潜在的巨大 XML 文件 所以我猜这排除了 DOM 解析器 是否有任何优秀的 C 轻量级 SAX 解析器 在占用空间上可与 TinyXML 相媲美 XML的结构非常简单 不需要诸如命名空间和DTD之类的高级东西 只是元素 属性和
  • MPI_Gatherv:根数组中收到的垃圾值

    我正在尝试实施MPI Gatherv函数于C 根据我的程序 包括 root 在内的每个进程都应该创建一个大小等于 进程的等级 1 这将在所有单元格中保持进程的等级 然后这个本地数组被收集到根的 rcv array 中 不知何故 我得到了垃圾
  • Global.asax 错误处理程序或自定义 IHttpModule 错误处理程序未捕获未处理的异常

    我有一个类 DPCal EventMove 的一种方法 我想限制使用角色的访问 我有一个 Global asax cs 错误处理程序和一个自定义 IHttpModule 错误处理程序 旨在捕获未处理的异常 并将它们 Server Trans
  • 图片 URL 正确,但图片未显示

    我在 GoDaddy 上有一个网站 所有权限均已正确设置并且图像确实存在 但是 当页面加载时 所选项目的图像不会显示 这是我的代码 imagepath spaimages currentSpaModel Name ToString png
  • 检测用户是否正在滚动 dataGridView 滚动条

    我正在更新一个dataGridView与一个新的数据表使用 dataGridView1 DataSource table 但是 我不想在用户滚动 dataGridView 时执行此操作 如何检查滚动条是否正在滚动或已完成滚动 即拖动而不是单
  • C# 记录类型:记录子类之间的相等比较

    给定父记录类型 public record Foo string Value 和两个记录子类Bar and Bee我想知道是否可以实施Equals在基类中 因此 Foo Bar 或 Bee 的实例都被考虑equal基于Value 两者都与E

随机推荐

  • 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