aspx文件中的服务器端代码

时间:2009-01-06 10:04:36

标签: asp.net page-lifecycle

我想问一下控制执行生命周期的哪个阶段是“服务器端代码编写在aspx文件中”正在执行?

是在SaveState之前还是之后,我声称它处于渲染阶段,是真的吗?

如果我的代码写为

,则在aspx文件中

“<%”

if(true)
{
rdlistAnswers.Items.Clear();
foreach (string item in myCollection)
{
    i.Value = item;
    i.Text = item;
    rdlistAnswers.Items.Add(i);
}
"%>"
<asp:RadioButtonList ID="rdlistAnswers" runat="server"</asp:RadioButtonList>

对其进行的更改已呈现但未保存。 但是当把标签写成

<asp:RadioButtonList ID="rdlistAnswers" runat="server" OnPreRender="loadMe"</asp:RadioButtonList>

-as loadMe是aspx.cs文件中的事件处理程序方法与上面的代码相同 - 更改被呈现并保存,因此当我在PreRender阶段进行更改时,状态会被保存,但是当我执行此操作时将逻辑放在未保存的aspx文件中,这意味着 - 至少我声称 - 放置在aspx文件中的服务器端代码在渲染阶段执行,你同意我吗?

1 个答案:

答案 0 :(得分:5)

直接在aspx文件中编写的代码将在ASP.NET页面生命周期中 Render Control的末尾执行

我测试了precompiling an aspx fileusing Reflector to look at the decompiled code