问题标签 [page-lifecycle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 检测所有 ASP.NET 生成的 Javascript 何时运行
我目前有一个包含 RadTreeView 的页面。RadTreeView 的每个节点上都有一个 ASP.NET Ajax CollapsiblePanelExtender。在代码隐藏中,我根据某些业务逻辑扩展了某些面板和折叠了某些面板。有没有办法检测所有 ASP.NET 生成的 Javascript(CollapsiblePanelExtender 的折叠/展开)何时运行?我需要对元素采取行动,但要等到所有扩展和折叠都发生后。
asp.net - 在回发 (asp.net) 上构建动态控件
我确定这已经得到解答,但我找不到它......也许是因为这些术语用于许多不同的问题......无论如何。
如何在初始化事件中存储有关在回发等上构建动态控件的信息的最佳方式...
例如,采用经典的“问卷调查”场景...question.aspx?id=1
- 从查询字符串中获取 id
- 从任何地方加载问题并动态构建控件,或动态添加每个问题用户控件以获取多少个问题等
- 页面回帖(我猜用户按下提交!)
- 在初始化事件中......您应该在哪里存储id 以重新创建问题控件?
到目前为止我尝试过/想到的事情:
- 我最初将值存储在视图状态中,因为它与页面相关,但视图状态值在页面初始化中不可用(或者它是??)
- 一个隐藏变量,然后访问表单集合中的值
- session - 我不想使用 session,似乎有问题,例如如果用户查看两个问卷怎么办?
- 再次查询字符串?但这似乎太容易改变了,动态控制就没有意义了……
- 在控件本身?例如,完全忽略调查问卷的 ID,也许只是简单地关闭问题 ID?假设控件 ID 将采用某种格式,例如 controlQ#,例如 controlQ1、controlQ2。这意味着每个问题 id 必须是唯一的
非常感谢任何帮助/指导等!!!
c# - 何时触发自定义控件事件?
我正在创建一个自定义控件。假设我正在重新发明轮子并创建一个派生自 UserControl 类的自定义 Button 控件(仅作为示例)
好吧,它当然有一个Click
事件处理程序。现在我的问题是,我什么时候调用这个事件处理程序?我知道它发生在页面 OnLoad 和 OnLoadComplete 之间的某个时间,但我不太确定我可以连接到什么事件,以便该Click
事件与其他控制事件同时引发。
您打算什么时候调用自定义控件事件?
asp.net - 单击 .Net 应用程序中的 href 链接后会触发哪些事件?
我的客户希望通过查询字符串传递值,但他们不希望查询字符串显示在浏览器的地址栏中。传递的值用于跟踪目的。我知道您单击 href 链接后不会发生回发。
有什么方法可以从查询字符串中获取值而不在浏览器的地址栏中显示它?我认为这可能是不可能的,但我可能错了;我希望看看是否有人有任何答案。
asp.net - 为什么不是所有控件都在 ASP.NET 页面生命周期的事件处理点初始化?
我在 Web 部件中嵌入了一个用户控件。它有以下代码片段:
(没有 OnLoad 或 CreateChildControls 方法。)
如果我在 的第一行放置一个断点goButton_Click
,我会发现:
searchTextBox
:初始化goButton
:初始化nextButton
:空pushpins
:初始化currentPageLabel
:空
为什么有些控件被初始化而有些没有?如果我想更新Text
属性,我该如何解决currentPageLabel
?
更新:
我在页面生命周期中一直放置断点,发现它nextButton
从未初始化过。断点位于 OnLoad、CreateChildControls、goButton_Click、OnPreRender、Render 和 OnUnload。currentPageLabel
asp.net - 当我按下浏览器的返回按钮时会发生什么?
考虑以下场景:
我访问了一个使用 ASP.NET 构建的网站的页面。该页面是一个简单的 aspx 页面,其中包含 ASP.NET 服务器控件。
我单击了一个链接,该链接将我带到同一网站上的其他页面。
我点击BACK了浏览器的按钮。
问题:在页面生命周期方面会发生什么?是所有事件都发生了,还是浏览器只显示页面的缓存版本而不发出任何请求?
.net - 在 DataBind 上的封装 DropDownList 中选择项目
我有一个复杂UserControl
的主要目的是封装DropDownList
许多属性以进行高级操作。
PreRender
根据先前设置的属性,根据事件填充列表:
最常用的属性是 ClientID:
ControlPameters
Getter 通常在SqlDataSources
具有此控件的页面上被调用。
二传手 - 来自标记:<uc:UserControl1 runat="server" ClientID='<%# Bind("ID") %>' />
.
所以问题是:
为什么 setter fromBind
被更早地调用PreRender
呢?并且DropDownList
是空的并且项目选择不起作用!如何解决此行为?
Edit1:好的,不是PreRender
但是Init
。但是 DropDownList1_DataBinding 在属性设置器之后仍然被调用!
c# - 在您的应用程序中加载任何页面时是否有调用函数?
我希望能够在应用程序中加载任何页面时运行脚本。有什么地方我可以简单地添加这个吗?还是我必须在每个页面加载中添加代码?
c# - 继承的用户控件的 ASP.NET 事件生命周期
请原谅伪代码,但这是一个简单的问题:
我创建了一个用户控件(myControlBase:UserControl),其标记中有一个文本框(id =“txtbox”)。在它的代码隐藏中,我编写了一个方法 SayHello(string s){ txtbox.Text = s; }。
我创建了另一个扩展 myControlBase (myControl : myControlBase) 的用户控件。在这个子控件的 page_load 中,我调用 SayHello("hello"); 并收到一个运行时错误,告诉我 txtbox 为空(显然尚未创建)。
那么,如何从用户控件继承并让我的子控件访问基本控件的标记?我试图阅读这些控件的事件生命周期,但我想我没有得到它。
有任何想法吗?
-编辑-
对不起,它是 ASP.Net。如果这段代码使它更清晰,那么我在描述这个问题方面一定做得很差。
txtBox 是一个 ASP:Textbox 控件,存在于 myControlBase 的标记中。
这会在 SayHello("hello"); 失败。因为 txtBox 返回 Null。
c# - 访问请求或响应 OnUnload()?
我想使用类似的东西存储一个cookie
OnUnload()
在我完成页面生命周期之后,将其放入事件中是有意义的。
然而在这个阶段,Request
并且Response
已经被卸载,所以抛出一个空引用异常。
有没有人有任何头脑风暴来解决这个问题?
我能想到的就是把它放进去OnPreRender()
,但我担心这可能太“快”了。