当我尝试让我的 C# 类更改 asp 控件的外观时出现此错误:
'SkinId' 属性只能在静态控件的 Page_PreInit 事件中或之前设置。对于动态控件,请在将其添加到 Controls 集合之前设置属性。
我的目标是在每个页面上提供一个面板,将其称为 ID="response",然后动态地将其 CSS 类从错误更改为成功,或将成功更改为错误(因此它是红色或绿色)。当创建响应时,我也让它可见 = true。
显然,我被迫使用 CssClass 属性,这是唯一可行的方法。
作为题外话: 在 PHP 中,使用不同的“pre-init”“post-init”等不会有问题。这是一个完全不必要的过程。您只需在将其发送回用户之前更改 html。我有点困惑,为什么 ASP.NET 决定让一切变得过于复杂。花时间学习所有这些不同的复杂过程来简单地显示一个网页,这对我来说有点傻。学习在 microsoft 上难以阅读的 ASP 生命周期文档中编写的所有怪癖需要时间。不要侮辱任何微软人,但这并不实用。