如何从用户控件处理页面事件? (VB.net)

2023-12-13

我希望在用户控件生命周期的“预加载”阶段执行一些代码。但是预加载事件仅适用于 Page 对象。因此,我将以下方法添加到我的用户控件中:

Private Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Page.PreLoad 

但是,我知道会出现编译错误:“Handles 子句需要在包含类型或其基本类型之一中定义的 WithEvents 变量”

由于 Page 属性是从 UserControl 继承的,我不知道如何轻松完成此操作。

任何帮助感激不尽!


很抱歉给出了一个 C# 示例,但我不记得如何在 VB 中做到这一点...

无论如何,在 UserControl 的 Init 中,您可以显式指定 Page_PreLoad 方法作为 UserControl 的 Page 属性的 PreLoad 事件的处理程序,而不是在方法声明中使用“Handles”语法。您的示例所做的是尝试将事件处理程序分配给 UserControl 对象上的事件,以处理 UserControl 对象不会引发的事件。正如您所指出的,UserControl 并不继承自 Page,而 Page 是 PreLoad 事件所在的位置。不过,UserControl 确实包含 Page 对象作为其属性之一,该对象又将 PreLoad 公开为您可以向其分配处理程序的事件。无论如何,这会编译并接近您正在寻找的内容(使用 C 风格注释来保留 WMD 语法突出显示)。

Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
    // this assigns Page_PreLoad as the event handler 
    // for the PreLoad event of the Control's Page property
    AddHandler Me.Page.PreLoad, AddressOf Page_PreLoad
    MyBase.OnInit(e)
End Sub

Private Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs)
    // do something here
End Sub

我不确定这是否符合您的目的 - 正如斯蒂芬赖顿上面指出的那样,对于页面生命周期中的不同事件之一可能有更好的方法。然而,根据他所说的,这应该可行,因为调用控件的 OnInit,其中进行事件处理程序分配,然后引发页面的 OnLoad 事件,然后执行控件内的事件处理程序。

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

如何从用户控件处理页面事件? (VB.net) 的相关文章

  • 哪些控件触发了 Page.IsValid = false?

    两件事情 是否可以通过 Jquery 设置 Page IsValid Is Valid 属性 以便我不必使用 aspx 验证器 据我了解 IsValid 属性是只读的 当验证器进入时 是否可以通过 Jquery 当然 找出哪些控件导致验证失
  • Gridview 错误:对 Bind 的调用格式不正确

    我有以下 gridview 代码
  • 使用 .NET 将二进制转换器转换为十进制

    我已经开始掌握一些编程基础知识 但我仍然很新并且缺乏经验 我正在编写的新程序遇到问题 我想要一个程序 将 8 位二进制数放入文本框中 按下按钮 然后显示二进制数的十进制值 下面是我尝试过的代码 Public Class Form1 Priv
  • 将空查询字符串参数视为空字符串,而不使用参数类

    我正在尝试将多个参数传递给 httpget Web api 函数 我遇到的关键问题是空查询字符串参数被转换为空 我可以通过创建一个如下所示的类来解决这个问题 public class CuttingParams DisplayFormat
  • 关于线程池最大线程数的说明

    我读了here http blogs msdn com b tmarq archive 2010 04 14 performing asynchronous work or tasks in asp net applications asp
  • IIS 中一次请求上传大文件时的内存使用情况

    我要使用 IIS7 8 在 ASP NET MVC 中实现一个网站 我需要上传大文件 几 GB 我知道我可以更改 web config 中的配置以上传最多 4GB 的文件 但我有点担心内存使用情况 如果我在一次请求中上传了一个3GB的文件
  • asp.net 站点地图管理员查看用户看到的内容

    我目前正在尝试找出如何最好地为我的应用程序实施管理方面 我有一个用户网站 用户可以登录 自定义他们的个人资料 提交信息等 我希望管理用户能够登录并能够从用户列表中进行选择 从那里 管理员可以像用户一样为用户提交信息 Website Star
  • Linq 连接两个值

    假设我有一个列表 City State 它最初来自数据库 我有LocationID 但现在我将它加载到内存中 假设我还有一张快餐店表 其中记录了城市和州 我需要获取与城市和州相匹配的机构列表 注意 我尝试描述一个简化的场景 我的业务领域完全
  • 在机器密钥更改期间维护 ASP.Net 成员密码

    是否有实用程序或代码示例可以使用旧密钥解密 然后使用新密钥为 ASP Net 会员用户加密密码 提到的解决方法都不适合我 我的解决方案如下 它首先以明文形式存储密码 然后使用新的 MachineKey 再次对其进行重新加密 机器钥匙更换 h
  • 终止以 System.Diagnostic.Process.Start("FileName") 启动的进程

    我正在尝试创建一个将在特定时间执行操作的应用程序 很像 Windows 任务计划程序 我当前正在使用 Process Start 来启动任务所需的文件 或 exe 我通过调用文件 mp3 启动一个进程 该进程启动 WMP 因为它是默认应用程
  • 在 C# 中给定周数和年份,计算一周的开始和结束日期(基于 ISO 规范)

    我需要生成一份报告 显示一年中的 52 周 或某些年份的 53 周 及其开始日期和结束日期 有一个 ISO 规范可以做到这一点 但看起来非常复杂 我希望有人知道在 C 或 Visual Basic 中执行此操作的方法 实际上适用于 Visu
  • 如何向 Azure SQL 的 ASP.NET 成员资格提供程序添加重试逻辑?

    我们在 Azure SQL 数据库上有一个基于 ASP net sqlMembershipProvider 的用户数据库 很明显 开箱即用的 sqlMembershipProvider 4 0 不具备 Azure SQL 连接所需的重试逻辑
  • Office 365 和经典 ASP 与 VB.net SMTP 设置

    有几个关于经典 ASP 和 Office 365 的问题 但似乎没有一个问题可以回答我的特定场景 所以这里是 我在 Office 365 上设置了一个电子邮件帐户 并尝试使用以下代码进行 SMTP 测试 Dim ObjSendMail ma
  • 脚本块上的新闭包

    考虑这段代码 PS gt timer New Object Timers Timer PS gt timer Interval 1000 PS gt i 1 PS gt Register ObjectEvent timer Elapsed
  • 使用 ASP.NET 开发服务器测试多个域

    我正在开发一个 Web 应用程序 该应用程序将根据用于访问该网站的域名动态更改其内容 多个域将指向同一个应用程序 我希望使用以下代码 或类似的代码 来检测域名并执行自定义 string theDomainName Request Url H
  • 文件上传在更新面板中不起作用

    所以我想做的是 让用户选择要上传的文件 由于我只接受图像 因此我将测试扩展 我还想将文件大小限制在 2mb 以下 所以我将对此进行测试 尚未在代码中实现 如果他们选择的文件通过 那么我希望标签显示 文件已接受 并存储文件上传信息以供稍后单击
  • 用户完成后关闭 Excel

    任务非常简单 我想从 VB net GUI 打开 Excel 文档 xls 用户将处理 Excel 文件 用户完成后关闭 Excel 文件 我想要VB net代码释放Excel对象 问题是 当用户关闭文件时 Excel 对象仍然可以在任务管
  • 如何从用户控件引用母版页?

    我正在寻找一种方法 最好 从使用母版页的内容页中找到的用户控件强类型母版页 遗憾的是 您不能在用户控件中使用它 我试图从用户控件访问母版页的属性 而不必将该属性从母版页传递到内容页再传递给用户控件 因为多个内容页使用相同的用户控件 一处改变
  • 浏览器收集哪些值作为回发数据?

    当页面被发送回服务器时 浏览器收集每个控件的当前值并将其粘贴到一个字符串中 然后 该回发数据通过 HTTP POST 发送回服务器 Q1 除了控件的 Text 属性和 SelectedIndexchanged 因此除了用户输入数据 之外 控
  • jQuery AJAX post 收到 405 错误(不允许 HTTP 动词 POST)

    我有以下 jQuery 帖子到 ASP NET webmethod ajax type POST url AjaxWebMethods aspx UpdNote contentType application json charset ut

随机推荐

  • 将兰伯特等角圆锥投影转换为r中的wgs84

    我有兰伯特等角圆锥投影 x y 信息 我需要 WGS84 坐标 但我不知道lcc到底是什么 我在下面提供了 lcc 信息 有没有办法在r中将lcc转换为WGS84 example lcc x y xy lt cbind c 509535 7
  • Azure 应用服务在长 POST 请求时返回 413 有效负载太大

    在本地 这是可行的 但是当使用具有很长 似乎超过 100 000 个字符的任何内容 请求正文的 POST 请求访问我们的 Azure 应用服务 API 时 我们会收到 413 Payload Too Large 响应 这是一个相当长的 HT
  • 在 JavaScript 中从下拉列表中获取多个值

    如何使用 JavaScript 函数获取下拉列表中选择的值 用户可以从两个元素中选择多个值 以下是我正在使用的元素 提前致谢
  • 如何将列表中的所有整数相乘[重复]

    这个问题在这里已经有答案了 你好 我想将列表中的整数相乘 例如 l 1 2 3 l 1 2 2 2 3 2 output l 2 4 6 所以我在网上搜索 大多数答案都是关于将所有整数相乘 例如 1 2 3 Try a 列表理解 l x 2
  • 如何在多个视图控制器中从最后一个视图控制器移动到第一个视图控制器

    嗨 我是 iPhone 编程新手 有人可以帮我吗 我有多个 viewController 在第一个名为 HomeViewController 的 ViewController 中 我调用了该方法 self presentModalViewC
  • 密码分页总结果计数

    我有一个巨大的密码查询 我需要对其结果进行分页 我想做的是在限制完成之前获取结果总数 这是我的测试图 http console neo4j org id 6hq9tj 我尝试使用count o 在查询的所有部分 但我总是得到相同的结果 总数
  • 无法在 android api 23 上打开位置?

    我使用了以下代码 请求许可的对话按预期显示 但当我点击 允许 时 它什么也没做 日志消息不会显示为好像未授予权限 因此我转到参数来验证位置是否为 打开 以及 关闭 难道不是因为我授予应用程序访问我的位置的权限而应该打开它吗 如果我手动 打开
  • 如何为维恩图准备 Pandas df

    我有一个 Pandas 数据框 如下所示 ID VALUE A Today A Yesterday B Tomorrow C Tomorrow D Today D Tomorrow E Today
  • 获取 XML 文档注释

  • 如何收听N个频道? (动态选择语句)

    要开始执行两个 goroutine 的无限循环 我可以使用下面的代码 收到消息后 它将启动一个新的 goroutine 并永远持续下去 c1 make chan string c2 make chan string go DoStuff c
  • Schema.org 在一页上设置多个事件

    是否有一种正确的方法可以在 Schema org 的一个页面上显示多个事件 理想情况下 我们不希望每个事件都有一个页面 这是我们想要的示例结构 div div h2 Chili Cookoff h2 div div h3 span Manh
  • 如何将 knockout.js 与 ASP.NET MVC ViewModel 结合使用?

    Bounty 已经有一段时间了 我仍然有几个悬而未决的问题 我希望通过增加赏金也许这些问题能够得到解答 如何将 html 助手与 knockout js 一起使用 为什么需要准备好文档才能使其正常工作 有关更多信息 请参阅第一次编辑 如果我
  • 使用 prolog 解决 Caliban 问题

    我正在努力使用学校的序言来解决逻辑难题 线索如下 布朗 克拉克 琼斯和史密斯是四位为他们的人民服务的重要公民 作为建筑师 银行家 医生和律师的社区 尽管不一定 分别 布朗比琼斯更保守 但比史密斯更自由 比比他年轻的人打高尔夫球更好 并且拥有
  • 通过重叠两个数据框,为每个组/id 创建子图

    我有以下两个数据框 Load the required libraries import pandas as pd import matplotlib pyplot as plt Create dataset 1 data set 1 id
  • 使用 Python 处理 XLSX 中的图像

    我有一个 xlsx 有两张表 一张在 G1 O25 中有一些数据 我们称之为 数据 一张在 G1 O25 的单元格中插入了一些图像 我们称之为 图像 我的目标是使用 Python 通过图像过滤数据 我想要一个弹出窗口 显示单元格 G1 中的
  • 在对象中声明函数名,为什么? [复制]

    这个问题在这里已经有答案了 正在研究一些 js 代码性能并看到了这种方法 window sample foo function foo a b code goes here bar function bar a b code goes he
  • support-library-v4 的依赖问题

    我想在 Eclipse 中导入 2 个现有项目作为库 这两个库项目都依赖于support library v4并有一个 jar 文件 因此 当我导入它们时 系统会要求我修复依赖项 我收到此错误 Jar mismatch Fix your d
  • 在类似 C 的语言中,空格是否被视为标记?

    空格是否被视为 C 类语言中的一种标记 尤其对 C 感兴趣 K R 中的参考手册对此似乎有点含糊 不 空格不会被视为令牌 从http c0x coding guidelines com 6 4 html 标准文本草案 不幸的是实际标准需要花
  • Fortran语言中的多态性

    我有一个类似的代码 Module C sys use class A implicit none Private Type public C sys type private logical Ao set false type A Ao C
  • 如何从用户控件处理页面事件? (VB.net)

    我希望在用户控件生命周期的 预加载 阶段执行一些代码 但是预加载事件仅适用于 Page 对象 因此 我将以下方法添加到我的用户控件中 Private Sub Page PreLoad ByVal sender As Object ByVal