问题标签 [prerender]
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 - PreRender 后可能无法注册扩展器控件
我正在使用动态 AjaxControls 创建动态用户控件。然后我将每个用户控件存储在一个集合中。在回发时,我记得集合中的 UserControls 以重新创建界面。如果我只使用标准 HTML 控件但不适用于 AJAX 控件,它就可以工作。我在 PostBack Extender 控件可能未在 PreRender 之后注册时收到此错误。到目前为止,我已经尝试了以下方法:
- 页面和用户控件中的 MyBase.OnPreRender(e)
- OnInit 中的 EnsureChildControls()
- 将 ScriptManager 添加到 MasterPage 这些东西都不起作用...
如果我重新创建所有控件,包括用户控件内的控件,那么我不会收到任何错误,但是它需要永远进行回发,而不是仅仅调用 UserControls 的集合。
堆栈跟踪:
在 System.Web.UI.ScriptControlManager.RegisterExtenderControl[TExtenderControl](TExtenderControl 扩展控制,控制目标控制)
在 System.Web.UI.ScriptManager.RegisterExtenderControl[TExtenderControl](TExtenderControl 扩展控制,控制目标控制)
在 System.Web.UI.ExtenderControl.RegisterWithScriptManager()
在 System.Web.UI.ExtenderControl.OnPreRender (EventArgs e)
在 d:\hg\act\Server\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 365 中的 AjaxControlToolkit.ExtenderControlBase.OnPreRender(EventArgs e)
在 d:\hg\act\Server\AjaxControlToolkit\DropDown\DropDownExtender.cs:line 157 中的 AjaxControlToolkit.DropDownExtender.OnPreRender(EventArgs e)
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Control.PreRenderRecursiveInternal()
在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)
c# - 扩展器控件可能不会在 PreRender 之后注册。发生在 GridView DataBind() 上
在我们的 ASP.Net 4.0 C# Web 应用程序中,我在调试期间在主题行中收到上述错误。
我并没有真正对页面上的动态控件做任何时髦的事情,因为某些搜索结果表明可能是问题的根源。
该页面有 2 个ajax:CalendarExtenders
,并且已经正常工作了一段时间。
虽然它可能是相关的,但我可以看到这是多么真实,但这就是我当前正在处理的错误。
我们在页面上有一个控件,该控件在自动刷新功能上引发事件。[它是一个地图控件]。
我的页面订阅了该事件,并且在这样做时 DataBinds 一个asp:GridView
. 我们每次都需要绑定网格中的数据,保证网格和地图控件同步。[这是一个车辆跟踪页面]
错误发生在 DataBind 命令上。
我删除了扩展器只是为了提出同样的错误。
数据绑定很简单,但我确信错误存在于其他地方。无论如何我都会包括它。
也许它根本不了解让我绊倒的页面生命周期,无论如何都会很高兴得到一些帮助。
asp.net - 如何判断 Page_PreRender 是否已运行?
我在重写的 Page OnUnload 中运行一个方法,但前提是 Page_PreRender 方法已运行。
显然,当我在 Page_PreRender 中时,我可以翻转一个类级别的布尔值并在 OnUnload 中检查它,但如果有更内在的方法来判断 Page_PreRender 是否已运行,我想使用它。
有任何想法吗?
感谢您的任何想法。
更新:让我稍微改一下我的问题。我正在寻找是否存在页面生命周期中固有的简单方法的答案,也许是由 ASP.Net 框架设置的属性,也许是其他东西,在 Page_PreRender 运行后与 Page_PreRender 运行时不同不跑。
我目前在 Page_PreRender 中设置一个布尔值来告诉我它是否已经运行。它有效,但如果有一种方法可以在不添加额外布尔检查的情况下完成相同的事情,我不喜欢这个解决方案。如果可能的话,创建在 Page_PreRender 期间触发的事件与我想避免的冗余级别相同。
c# - 获取用于回发的验证组
我正在使用 C# (.NET 2.0) 中的旧项目。在这个项目中有两个验证组。一种用于自定义登录控制,另一种用于用户提交到时事通讯。我遇到的问题是,当用户提交订阅时事通讯时,一些自定义代码会在 page_prerender() 方法中触发,只有在用户尝试登录时才会触发。
我一直在寻找一种解决方案来识别回发时使用了两个组中的哪一个,这样我就可以在需要时忽略自定义代码。我的想法是尝试检查两个验证组中的哪一个被用于验证。不幸的是,在谷歌上花了几个小时徒劳无功之后,我找不到任何东西让我知道如何在验证时真正知道使用了哪个验证组。有什么办法可以查到吗?
以下代码仅应在按下 LoginButton 时触发,并且需要在 Pre_render() 上完成。或者传递正确的 ValidationGroup (现在传递 null )。
php - 在收到所有数据之前渲染网页
我目前有一个网页需要一段时间才能加载。页面的 php 端进行了大量的数据处理和计算,这是(不幸的)不可避免的。我想在 php 处理时在页面上显示一些东西。不幸的是,页面的大部分依赖于 php 计算。
我目前的解决方案如下:
HTML/PHP(开始):
的JavaScript:
从某种意义上说,它运行良好,当页面呈现时,页面呈现时会显示一些等待消息。但从某种意义上说,它不起作用,因为页面在渲染任何东西之前仍然等待接收所有数据。我怎样才能完成后者?
需要注意的一点:doctype 之前的空行包含 1024 个空格,因为我在某些地方(包括 StackOverflow)读到浏览器会等到读取一定数量的字符后再尝试渲染任何内容。
任何想法,将不胜感激。浏览器充满了让我感到困惑的神秘技巧和黑客行为。
sharepoint - 为什么 WebPart 的数据检索代码是用 PreRender 方法编写的
在编写连接两个 webpart 的代码时,我注意到当我尝试在 CreateChildControl 方法中从 Provider WebPart 检索数据时,连接对象显示为 NULL。但是,当我在 PreRender 方法中编写代码时,一切正常。 是否有任何特定原因仅在 PreRender 方法中编写检索代码?
filestream - C# .NET 4.0 通过使用 filestream 或 streamreader 读取 .aspx 页面来获取 Web 元素 ID 的值
所以这是我正在编写一个程序的问题,该程序将在呈现之前查看本地主机上的文件夹。我希望能够获取 Web 元素的 ID 值并将其存储在列表对象中。
例如我有一个页面:
程序将转到 C:\WebFolder\Page.aspx 然后读取文件并找到页面上的每个 CustomControl,然后获取控件类型(MyPhoneValidationControl 或 MyEmailValidationControl),然后分配 ID 的值(PhoneValidator、EmailValidator)作为 Control 对象的属性。
我正在使用 C#.NET 4.0。呈现页面后获取元素的 ID 很容易,但它并不表明它是自定义控件。要查看自定义控件,您需要查看 .aspx 文件,而不是由 Web 服务器(IIS 等)呈现
html - 如何测试预取/预渲染
我已经开始使用预取/预渲染系统加载一些关键资源和页面。
有没有办法确保有问题的资源实际上是被预加载的?
javascript - 图像调整大小在 WebKit 浏览器中产生轻微、短暂的像素化
jsfiddle:http: //jsfiddle.net/UenFN/。注意动画后轻微的、短暂的像素化。此错误仅发生在 WebKit 浏览器中。
使用 jQuery,我将图像调整为更小的图像。新尺寸正好是旧尺寸的一半。然而,在调整大小后,图像会出现轻微的像素化,然后大约 2 秒后看起来会更好。
我该如何解决这个问题?
编辑:仍然没有进展。任何想法都值得赞赏。
asp.net - 如何在 Gridview 的 Prerender 事件中获取当前行索引?
我想在 PreRender 事件中获取当前行的索引。我该怎么做?