问题标签 [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.

0 投票
6 回答
1188 浏览

asp.net - 应该在 ASP.NET 页面的什么地方完成?

我对 ASP.NET 很陌生,在遇到一些问题后,我想知道我是否做错了(我有这样做的坏习惯)。我有兴趣了解 ASP.NET 的运作方式。

我的问题是:我在哪里可以找到文档来指导我决定在哪里进行哪些处理?

作为一些具体的例子(我对这些问题的答案很感兴趣,但我宁愿指出一个提供更一般答案的资源):

  • 我应该做什么处理Page_Load
  • Load我应该对事件进行什么处理?
  • 可以Page_Unload什么?
  • 事情是按什么顺序完成的?
  • 每个事件何时触发?
  • 什么是页面生命周期?

编辑:这个问题也可能对某些人有用。

0 投票
1 回答
1715 浏览

web-applications - 从 HttpServletRequest 创建 pageContext

我知道这听起来可能很疯狂......但我正在与一些第三方 api 集成,不幸的是他们有一个只需要一个 pageContext 对象的实用程序类......我做了一些偷看,发现他们用 pageContext 做了很多事情...有没有办法从 HttpServeletRequest 获取或创建 pageContext。

0 投票
1 回答
826 浏览

asp.net - ASP.NET 使用多个参数触发服务器端事件

恐怕我有一个相当长的问题。我对 ASP.NET 还很陌生,所以请多多包涵。我已经为列出许多选项的 ASP.NET 页面构建了一个控件。每个选项都有两个可点击区域(为简单起见,称它们为按钮)。一个选择选项,一个隐藏选项。

这很好用(我确实实现了 IPostBackEventHandler 接口)。这里的问题是我似乎没有办法找到点击了哪个 HTML 元素,因此应该在 RaisePostBackEvent 方法中执行哪个操作。

我试图做的是创建一个新类(HtmlDivControl),如下所示:

现在我将 div1 和 div2 设为我的 HtmlDivControl 而不是 HtmlGenericControl,将 Click 属性设置为方法(委托)并将 div(div1 或 div2)本身作为 GetPostBackEventReference 方法的控件。这一次,我不仅可以区分 div,还可以预先确定应该执行的操作。但是,控件的 RaisePostBackEvent 是在 PageLoad 之后调用的。所以我现在遇到的问题是整个选项控件是在处理事件之前渲染的(因此,应该隐藏的选项不是因为实际隐藏发生在渲染之后)。将 RenderOptions() 调用移动到 PageLoadComplete 方法也无济于事,因为那时 div 控件将不存在。

我很确定我在这里遗漏了一些非常基本的东西。但是有人可以解释一下我应该如何处理这样的事情吗?

ps 我应该如何在这里写下划线?他们习惯于使文本斜体?有转义字符吗?

0 投票
4 回答
15811 浏览

asp.net - ASP.NET:在 Response.Redirect(...) 之后代码会发生什么?

Response.Redirect() 会导致当前运行的方法中止吗?还是 Response.Redirect() 之后的代码也执行?

(也就是说,是否需要在 Response.Redirect 之后返回/退出 Sub?)

0 投票
3 回答
817 浏览

.net - 首先处理什么:aspx 或 aspx.vb 代码?

我想知道首先处理的是什么:如果放在aspx部分的代码(使用服务器标签<%%>)还是后面的代码,因为我在服务器标签之间的aspx中放置了一个填充Page_Load的变量,我是有价值时什么都得不到。

任何人都可以向我指出一些方向,例如谈论包含 aspx 代码的页面生命周期的文章?

谢谢!

0 投票
1 回答
1454 浏览

asp.net - Response.Write 和 <%= %> 之间的实际区别是什么?

我遇到了一个问题,第三方组件似乎干扰Response.Write并导致其中的任何内容在Response.Write("")任何其他 html 之前呈现。例如:

将呈现为

<%= %>但是,使用块渲染的任何内容都可以正常工作。以下代码将完美运行:

我一直认为这<%=只是Response.Write. 根据我在 MSDN 上找到的内容,我现在了解到它<%=最终转换为 Response.Write,但显然中间有几个步骤。

有没有人猜测为什么这两者会呈现不同的效果,或者向我指出一些解释如何<%= %>处理块的文档/信息?

更新:导致问题的控件是 2009 Q1 版本中的 Telerik AjaxManager 控件。升级到 Q2 控制解决了这个问题。

不幸的是,我无法访问源代码,所以我无法弄清楚为什么控件会导致这种行为。这个问题已经解决了,但我仍然很好奇它为什么存在。

0 投票
1 回答
510 浏览

c# - ASP.NET BasePage 反向引用具体实现

我有一个这样设置的页面

在我的基本页面内

我需要做的实际上是强制转换 (TView)_Default,使用我的 GetView() 方法确实以该结果结束。在基本页面内我做不到

因为这实际上ViewBasePage<TPresenter,TView>是它不能直接转换为 TView。

所以我的实际问题是有没有其他方法可以让我感觉不那么老套,如果这是主要选择,那么通过这种方式处理我的页面,我真的需要担心什么吗?

编辑:

我要写的确切部分是

因为我觉得在这种情况下能够引用回页面是相当严重的黑客攻击。

0 投票
4 回答
8978 浏览

asp.net - Asp.Net - 页面刷新(F5)不恢复TextBox的初始值

这是简单的代码:

  1. 第一次加载。文本框状态为“原始”。

  2. 手动,将值更改为“非原创”。

  3. 按 F5。该行:

    txt.Text = "原始";

已执行,但输入值保持“非原始”

但是,当我点击进入地址栏时。值更改为“原始”。

更多的是当地址最后包含'#'时(使用jquery click..)

然后,即使我在地址栏中点击,该值 仍然是“非原创”

0 投票
1 回答
664 浏览

asp.net - 访问 ClientID 会中断回发

有时我在使用 ASP.Net 时会感到绝望——另一个不应该的问题!

在 Web 表单上有一个 ASP 表。在 ASP 表中有一个用户控件,我正在对其进行一些更改。在 ASP 表中有一个文本框....到目前为止没有任何异常!

在后面的代码中,作为 Page_Load 的一部分,我需要访问文本框的 ClientID 以注册一些 javascript ......所以我这样做了,而且 javascript 似乎做了它需要做的一切。每个人都很高兴。

不,不,显然每个人都不高兴,ASP.Net 本身就很不高兴!

在访问 ClientID 时,源中出现的 id 是:

注释掉访问 ClientID 的行意味着 id 呈现为:

访问 ClientID 的行如下所示:

这本身并不困扰我,但它打破了回发的事实,确实如此!如果您在该文本框中输入内容并点击提交按钮(页面上有一个提交按钮!),它会重新加载页面,但会将默认值放回文本框中并完全忽略您最初拥有的内容。疯狂 - 我没有做任何特别奇怪和不寻常的事情,那么为什么它会破坏回发呢?

0 投票
1 回答
398 浏览

asp.net - 自定义服务器控件,带有表单和脚本管理器

我正在构建一组 asp.net 服务器控件,其中一个,本质上是一个容器控件,我想添加一个表单控件、一个脚本管理器和一个更新面板。这是可能的,还是出于页面/控件生命周期的原因,我必须在我为 Web 项目拥有的 Page 基类中创建这些?

我没有使用母版页。

问候, 安德鲁