gpt4 book ai didi

c# - 什么时候使用 PreRender 而不是 PageLoad?

转载 作者:太空狗 更新时间:2023-10-29 17:37:11 25 4
gpt4 key购买 nike

相关问题:Get All Web Controls of a Specific Type on a Page

在上面的问题中,我问我如何获得所有控件,工作起来很有魅力,但有些东西不太合适,所以我认为可能是我。我有以下代码,但它没有操纵页面上的控件,但在我看来它应该可以工作。

List<DropDownList> allControls = new List<DropDownList>();
ControlEnhancer.GetControlList<DropDownList>(Page.Controls, allControls);

foreach (DropDownList childControl in allControls)
{
foreach (ListItem li in childControl.Items)
{
li.Attributes.Add("title", li.Text);
}

childControl.Attributes.Add("onmouseover", "this.title=this.options[this.selectedIndex].title");
}

这就是代码,您可以从相关问题中获得 GetControlList() 代码,它显示了它如何获取所有控件,这只是我的操作。我正在尝试获取所有下拉列表列表项并为它们添加标题,以便我可以获得工具提示。

这是对 IE8 及以下的快速修复,在下拉框中剪切长文本。

最佳答案

Page_Load 经常发生得太早; Page_PreRender 是为浏览器实际呈现页面 HTML 之前的最后时刻,在许多情况下是在用户控件上设置属性的最佳位置。

这是因为在网络表单(页面)的生命周期中,页面中(以及页面中包含的用户控件中...)还有其他事件,有时会删除/替换/覆盖( 真的)这些属性,所以您可以将这些属性提供给浏览器的唯一方法是在所有其他生命周期事件都被激发和处理之后,在 Page_PreRender. 中追加它们

关于c# - 什么时候使用 PreRender 而不是 PageLoad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7385875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com