ASP.NET 自定义用户控件动态添加

2023-12-07

我很难将具有自定义用户控件的页面直接修改为 ASPX 页面,现在需要仅在需要时动态加载它。用户控件确实通过 ASCX 文件具有 html 和其他控件,并且在代码隐藏中具有代码。

我已阅读多页,发现我无法直接实例化用户控件,但应该使用Page.LoadControl(...)。问题不在于编译,而是当页面加载控件时,ASCX 内的所有控件都为空,然后崩溃。

如何动态使用在 ASCX 和代码隐藏中具有代码的用户控件?

Edit:

我正在做的示例(页面加载或 Page_PreRender 或 Page_PreInit)

      Control c = LoadControl(typeof(MyControl), null);
      myControl= (MyControl)c;
      myControl.ID = "123";
      myControl.Visible = false;
      Controls.Add(myControl);

MyControl 确实有例如<div id="whatever" runat="server">...并且在 MyControl 内部它将可见性设置为 True 或 False...但是当它这样做时,现在它崩溃了,因为“无论”div 是 NULL。


我所做的是使用Page.LoadControl方法中的Page_Init将自定义用户控件添加到页面上的占位符。

protected void Page_Init(object sender, EventArgs e)
{
    //MyControl is the Custom User Control with a code behind file
    MyControl myControl = (MyControl)Page.LoadControl("~/MyControl.ascx");

    //UserControlHolder is a place holder on the aspx page
    // where I want to load the user control to
    UserControlHolder.Controls.Add(myControl);
}

这对我来说效果很好。

以下是动态加载用户控件的代码:

MyControl.ascx.cs

public partial class MyControl : System.Web.UI.UserControl
{
    protected void Page_Init(object sender, EventArgs e)
    {
        LiteralControl lit = new LiteralControl("Test Literal Control");
        Page.Controls.Add(lit);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        whatever.Visible = true;

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

ASP.NET 自定义用户控件动态添加 的相关文章

随机推荐

  • 我们如何向 Flutter 小部件添加选择器/id,以便可以从 Appium 访问它们

    我们想使用 Appium Selenium 对 Flutter 应用程序进行自动化测试 在 Selenium 中查看时 某些元素没有选择器 在 Android 中 我们只需将 id 添加到每个元素上 它们就会出现在 Appium 中 我们如
  • 远程登录 Facebook 帐户

    出于我的项目目的 我需要远程登录我的 Facebook 帐户并从那里检索一些信息 为了登录目的 我使用 PHP 的 cURL 库 执行代码时 Facebook 页面要求我在浏览器上启用我已经启用的 cookie 代码有问题吗 有人可以帮助我
  • 通过 XSSFRichTexString 和 Jsoup 格式化 Apache POI Excel 文本

    我正在从数据库获取 html 数据 下面是示例 ul li strong Iam Bold strong u span style color Red Iam Red Colored and Underlined span u li li
  • 有什么方法可以扩展 javascript 的 array.sort() 方法以接受另一个参数吗?

    我正在尝试对对象数组进行排序 我不想为每个属性编写自定义排序方法 无论如何我可以扩展内置的array sort 接受额外参数的方法 描述要排序的属性 例如 array sort function a b attr return a attr
  • Pushsharp 苹果通知调用 SSPI 失败错误

    我正在使用 PushSharp 在 C 中发送 Apple 推送通知 我有我的生产 pem 文件及其密码 下面是我的代码片段 我总是收到此错误 A call to SSPI failed see inner exception gt Sys
  • 检查 firestore 文档是否为特定类型文档的方法

    我有一个 Android Studio 项目 有 2 个用户集合 培训师和学员 我想创建一个方法 接收用户的字符串电子邮件作为输入 用户的电子邮件是两个集合中的文档 ID 用户可以在受训者集合中 也可以在培训师集合中 但不能同时在两者中 并
  • 这个 double 是什么格式以及如何转换它?

    我正在阅读一个遗留的网络服务 它以我不熟悉的格式返回双精度数 一些例子是 1 58e 6 1 56e 6 1 45e 6 他们应该代表这样的双打 例如 0 000004343 这是什么格式以及如何转换 你可以这样转换 1 58e 6 1 5
  • 从给定纬度和经度的固定距离生成随机地理点

    我正在编写一个java程序来生成距给定点固定距离的所有经度和纬度 距离必须精确为 2000 公里 不能小于 2000 公里 这是我的代码 public static void getLocation double x0 double y0
  • Gradle 1.0 +Spring + AspectJ 构建问题

    我正在将一个依赖 Configurable Spring 注释的项目的 Maven 构建迁移到 Gradle 中 但是当我的 Web 应用程序运行时 没有任何 Configurable 类被注入到 Gradle 构建中 它们在构建我的 Ma
  • Java 按字母顺序排列字符串

    我有一个课堂项目 我需要输入 4 个不同的字符串 然后按字母顺序输出它们 到目前为止我有这个 String wd1 wd2 wd3 wd4 Scanner scan1 new Scanner System in System out pri
  • 核心图:如何从用户选择的栏中呈现弹出窗口

    我想完成什么 我正在使用 Core Plot 1 1 绘制条形图 我想在用户选择 点击 的条形下方显示一个弹出窗口 其中包含更多详细信息 Code 我的代码如下所示 void barPlot CPTBarPlot plot barWasSe
  • Android:设置蓝牙可发现性无限制

    在过去的几天里 我一直在尝试制作一个应用程序 让我的三星 Galaxy S3 mini Android 2 1 4 在 无限 的时间内被发现 我的代码目前如下所示 package com example downtoone import a
  • 将文件夹下载为 Zip Google Drive API

    我目前在 Google Sheet 中有一个 Google App 脚本 它为我提供了文件夹的 URL 然后我可以用它来下载 虽然这是一个额外的步骤 但我想删除它 并直接获取压缩内容的 URL 这是我的代码 谷歌应用程序脚本 functio
  • 如何在网页视图中显示外国字体

    我的应用程序必须在 Web 视图中显示 HtmlString 中的印地文文本 HtmlString div style padding 0px div div style padding 5px b SharedVariables Arra
  • 泡菜懒惰学习者

    Pickle 是否为像 KNeighborsClassifier 这样的懒惰学习者保存来自 scikit 的训练数据 如果是这样 我们可以从 pickle 对象访问这些数据吗 询问数据隐私问题 Eg knn fit Xtrain Ytrai
  • AMP 错误:缺少支持的结构化数据元素

    我有一个书籍聚合网站 我为每本书创建了专用的 AMP 加速移动页面 示例 AMP 网址 http konyvar hu amp nicholas sparks az utolso dal 规范 URL 示例 http konyvar hu
  • 如何保持元素:即使点击后仍处于活动状态

    从中得到了非常模糊和不需要的答案question所以我决定发布一个明确的问题来介绍我面临的问题 我正在使用的代码如下所示 flipClass font size Large background color 4399CD color fff
  • 在函数内执行 mysqli_query

    我有一个函数列表函数 php 我正在升级Mysql to Mysqli因为我刚刚学习Mysql现已弃用 我在顶级connect php 文件中声明我的连接 第一个文件是必需的 我所有的功能都使用mysql query QUERY 总是运行良
  • Telegram Api - 创建授权密钥 404 错误

    我正在尝试用 python 编写一个简单的程序来使用 telegram api 不是机器人 api 主要消息传递 api 现在我已经编写了这段代码 usr bin env python import socket import random
  • ASP.NET 自定义用户控件动态添加

    我很难将具有自定义用户控件的页面直接修改为 ASPX 页面 现在需要仅在需要时动态加载它 用户控件确实通过 ASCX 文件具有 html 和其他控件 并且在代码隐藏中具有代码 我已阅读多页 发现我无法直接实例化用户控件 但应该使用Page