首页 / 知识
关于 asp.net:动态创建的用户控件无法处理 PostBack 上的事件
2023-04-17 03:55:00

User Control created dynamically not able to handle events on PostBack我有一个用户控件,它使用页面初始化中的以下代码动态加载到页面中。
用户控件还包含一个按钮,我无法捕获用户控件中的按钮单击。 您正在做的一些事情既不需要,也可能会导致您的问题。 这些是: 此代码适用于我: 默认.aspx
默认.aspx.vb
UserControl1.ascx
UserControl1.ascx.vb
在 .NET 进入页面生命周期的"回发事件处理"步骤之前,您必须确保该控件存在于页面上。由于控件是动态添加的,因此您必须确保在每次回发时重新创建该控件,以便它可以找到触发事件的控件。 确保在每次回发时都加载控件 - 如果页面回发时控件不在控件树中,ASP.NET 将不会引发按钮单击事件。 我刚刚遇到了与您类似的问题,除了在我的情况下我没有使用会话来存储控件。 就我而言,我在这一行中找到了问题: 我所做的是创建一个子控件并将它们添加到 Page_Init 上的父容器中,然后处理一些事件处理程序,然后在 Page_PreRender 上我再次使用更新的数据重新创建整个列表。 我在这种情况下使用的解决方案是在页面周期的早期阶段创建一次控件集合。 几个问题: 最后,.Net 的样式指南特别建议不要在 oCtl 中使用任何像 o 这样的匈牙利前缀疣,您应该将其键入为控件而不是对象。 如果不尝试,我不知道,但是如果您以编程方式连接按钮的事件处理程序会怎样?例如,在用户控件本身的代码隐藏中,在 Init 或 Load 中(不确定):
如果这不起作用,我知道它的效率较低,但是如果您不将用户控件实例存储在 Session 中并且每次都在 Page_Init 中重新创建它怎么办? 既然你问了,我会这样写你的初始化事件。我将把 Load 事件留作练习:
我也会想出一个比"mycontrol"更好的名字,但是因为我不知道这个控件会做什么。 这是页面的完整代码
这里是用户控件的完整代码
您只想在不是时加载控件 isPostBack |
最新内容
相关内容
linux系统初始化命令?
linux系统初始化命令?,系统,基础,工作,服务,信息,命令,软件,网络,密码,发行,linux文件系统怎样初始化步骤1、(1)init 过程执行的第一个脚本是linux初始化硬盘命令?
linux初始化硬盘命令?,系统,工作,设备,工具,信息,基础,地址,电脑,命令,数据,linux基础命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出Python常用的高级用法之怎么动态创
Python常用的高级用法之怎么动态创建类,模具,产品,代码,名称,培训,灵活,基础,概念,资料,新世界,元类是Python当中的高级用法,如果你之前从来没Python 事件对象
Python 事件对象,通信,培训,线程,事件,对象,内部,标志,信号,机制,以上,一个线程发出事件信号,其他线程等待该信号,这是最简单的线程之间通信机python之如何使用初始化种子和迭代
python之如何使用初始化种子和迭代函数生成列表,数据,标准,位置,工具,培训,代码,函数,列表,初始化,种子,本篇阅读的代码实现使用一个初始化种python定义类的初始化方法
python定义类的初始化方法,培训,初始化,方法,定义,参数,实例,关键字,橡皮擦,函数,也就是,python定义类的初始化方法1、当类的初始化时,类中的关于具有未初始化存储的c ++:STL向
关于具有未初始化存储的c ++:STL向量?,关于具有未初始化存储的c ++:STL向量?,循环,连续,我不,在编,STL vectors with uninitialized stor关于webforms:在ASP.Net中,在哪个页
关于webforms:在ASP.Net中,在哪个页面生命周期事件中加载viewstate?,关于webforms:在ASP.Net中,在哪个页面生命周期事件中加载viewstate是否可以在WPF中的资源字典后面设
是否可以在WPF中的资源字典后面设置代码以进行事件处理?,是否可以在WPF中的资源字典后面设置代码以进行事件处理?,设置,用户控件,字典关于C#:如何从事件中删除所有事件处
关于C#:如何从事件中删除所有事件处理程序,关于C#:如何从事件中删除所有事件处理程序,操作,控件,处理程序,执行,How to remove all event更改ListItems权限时的SharePoint
更改ListItems权限时的SharePoint事件?,更改ListItems权限时的SharePoint事件?,事件,权限,列表,工作流,SharePoint Event when Permiss关于c ++:初始化对象时{0}意味着什
关于c ++:初始化对象时{0}意味着什么?,关于c ++:初始化对象时{0}意味着什么?,大括号,引用,初始化,对象,What does {0} mean when initial