如何在 C# .NET 中“克隆”WebControl?

2024-04-13

我的基本问题是,在 .NET 中,如何克隆 WebControls?

我想构建一个自定义标签,它可以生成其子代的多个副本。 最终我打算构建一个类似于 JSP/Struts 中的标签。

但我遇到的第一个障碍是复制/克隆控件内容的能力。

考虑一下这个相当做作的例子;

<custom:duplicate count="2">
    <div>
        <p>Some html</p>
        <asp:TextBox id="tb1" runat="server" />
    </div>
</custom:duplicate>

输出的 HTML 标记类似于:

<div>
    <p>Some html</p>
    <input type="text" id="tb1" />
</div>
<div>
    <p>Some html</p>
    <input type="text" id="tb1" />
</div>

注意:我知道我的 ID 重复了,稍后我可以想出一个解决方案!

因此,我们将拥有的是带有 3 个子级的自定义控件(我认为)——一个文字控件、一个 TextBox 控件和另一个文字控件。

在这个例子中,我已经说过“count=2”,所以控件应该做的是输出/渲染它的子元素两次。

我希望做的是编写一些“OnInit”代码,其功能如下:

List<WebControl> clones;
for(int i=1; i<count; i++)
{
    foreach(WebControl c in Controls) 
    {
        WebControl clone = c.Clone();
        clones.Add(clone);
    }
}

Controls.AddRange(clones);

但是,据我所知,WebControls 没有实现 ICloneable,因此不可能以这种方式克隆它们。

关于如何克隆 WebControls 有什么想法吗?


使用中继器并绑定无用的数据源有什么问题。它将复制模板化控件并处理 ID 创建等。

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

如何在 C# .NET 中“克隆”WebControl? 的相关文章

  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 是否有与 C++11 emplace/emplace_back 函数类似的 C# 函数?

    从 C 11 开始 可以写类似的东西 include
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 从 Orchard 内的主题渲染图像

    我刚刚选择 Orchard 来构建我的博客 作为创建这个新博客的努力的一部分 我正在创建一个自定义主题 这个自定义主题同时具有 CSS 和图像 我的问题 我的问题基本上可以归结为 如何渲染属于主题一部分的图像 到目前为止我已经尝试过的 我尝
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 哪些属性有助于运行时 .Net 性能?

    我正在寻找可用于通过向加载器 JIT 编译器或 ngen 提供提示来确保 Net 应用程序获得最佳运行时性能的属性 例如我们有可调试属性 http msdn microsoft com en us library k2wxda47 aspx
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • 使用 JQuery 根据下拉列表选择的值显示/隐藏控件

    我正在尝试使用 JQuery 根据下拉菜单的选定索引显示 隐藏 div 标签 但它不起作用 任何帮助将不胜感激 Thanks
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens

随机推荐

  • 在标题中添加图像标题和/或描述

    是否可以操纵图像标题的输出内容以这种方式 不仅在每个图像下输出标题 而且还输出图像标题和 或描述 在媒体库中定义 可能通过functions php 是的 可以操纵the content 您想要做的最简单的方法是在您的functions p
  • NSUserDefaults 和 Lion 下的沙箱

    根据 Apple 的要求 将我的项目之一移至支持沙箱 我像这样使用 UserDefaults NSUserDefaults standardUserDefaults setObject myNumber forKey myNumberKey
  • 使用 XSLT 将 XML 转换为 JSON

    我想使用 XSLT 将一些 XML 转换为 JSON XML 如下所示
  • InnoDB导致MySQL无法重启

    我无法重新启动 MySQL 或从 InnoDB 表 恢复 MySQL 我有一个使用 Ubuntu 16 04 的 WSL 由于 未知 的意外 早上我无法访问 MySQL 尝试重新启动它 所有错误 尝试了有关 InnoDB 和日志 文件的所有
  • 告诉 git 不要合并二进制文件而是选择

    当二进制文件 swf jar 和 flv 在本地更改时 我尝试引入更改 git 会尝试合并它们并报告冲突 然后 我分支到一个临时分支 并提交本地更改的二进制文件 并在拉取后使用递归策略将它们合并回来 太多工作 有没有办法告诉 git 不要尝
  • 什么是 Ruby on Rails Action 电缆适配器?

    通过 RoR 动作电缆导轨查看http edgeguides rubyonrails org action cable overview html subscription adapter http edgeguides rubyonrai
  • h5py 是否将整个文件读入内存?

    h5py是否将整个文件读取到内存中 如果是这样 如果我有一个非常非常大的文件怎么办 如果不是的话 我每次要单个数据就从硬盘取数据会不会很慢 我怎样才能让它更快 h5py是否将整个文件读取到内存中 不 不是的 特别是 切片 dataset 5
  • 使用 CMake 在主项目之前强制构建外部项目(使用 buildtools)

    我想在开始构建我的主项目之前构建 gsl 我将以下行添加到 rootCMakeLists txt file cmake minimum required VERSION 2 8 project moose include CheckIncl
  • 在pytorch张量中过滤数据

    我有一个张量X like 0 1 0 5 1 0 0 1 2 0 我想实现一个名为的函数filter positive 它可以将正数据过滤成新的张量并返回原始张量的索引 例如 new tensor index filter positive
  • 如何查找联系人图像支持的最大图像尺寸?

    背景 从 jelly bean 4 1 开始 android 现在支持联系人图像720x720 http developer android com about versions jelly bean html android 41 之前
  • 如何在 json 模式中创建模式引用的嵌套列表(数组)

    我正在尝试构建一个架构 其中包含我想要强制架构的项目列表 基本上这是我想要根据架构验证的数据 data VIN 123 timestamp xxxx model jeep inspections door badge expected ye
  • R 中的负向前瞻未按预期运行

    我正在尝试替换以以下开头的字符串中的实例abc在我正在 R 中使用的文本中 输出文本在 HTML 中经过几次突出显示 因此我需要替换以忽略 HTML 插入符内的文本 以下内容似乎在 Python 中有效 但我在 R 中的正则表达式上没有得到
  • 如何在 SwiftUI 中以编程方式编辑 TextField 的边框颜色?

    这是代码片段 TextField Email text self email padding overlay RoundedRectangle cornerRadius 1 stroke Color black lineWidth 1 Se
  • Django 用交集计数注释查询集

    Djangonauts 我需要挖掘你们的大脑 简而言之 我有以下三个模型 class Location models Model name models CharField max length 100 class Profile mode
  • 如何将 window-1251(俄语西里尔字母)MySql 数据库转换为 UTF-8

    我有一个俄罗斯网站的数据库 其编码为 windows 1251 换句话说 来自 phpmyadmin 的字母如下所示 换句话说就是难以辨认的字符 为了正确显示内容 必须在 php ini 中添加此代码 header Content Type
  • 浮点线性插值

    在两个变量之间进行线性插值a and b给定一个分数f 我目前正在使用这段代码 float lerp float a float b float f return a 1 0 f b f 我认为可能有一种更有效的方法 我使用的是没有 FPU
  • .net 标准库中的 HttpContext

    我正在开展几个项目 其中之一是ASP NET 4 5应用程序 另一个是 Net Core API 1 1项目 asp net 应用程序正在使用HttpContext读取 cookie 和页眉的类 现在 我需要将其移至 net 标准库 该库可
  • POSIX 风格的操作系统中的命令行选项应该是下划线风格吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 POSIX 风格操作系统中程序的命令行选项名称是否应该是下划线风格 例如 cure world hunger 或者也许是其他风格 curewor
  • 函数的“static new”修饰符有什么意义?

    今天 我在遗留代码中发现了一些东西 它具有 静态新 一项功能 看起来像这样 class Foo public static void Do Console WriteLine Foo Do class Bar Foo public stat
  • 如何在 C# .NET 中“克隆”WebControl?

    我的基本问题是 在 NET 中 如何克隆 WebControls 我想构建一个自定义标签 它可以生成其子代的多个副本 最终我打算构建一个类似于 JSP Struts 中的标签 但我遇到的第一个障碍是复制 克隆控件内容的能力 考虑一下这个相当