内联c#代码vs Page_Load方法
本文关键字:Load 方法 Page vs 代码 内联 | 更新日期: 2023-09-27 18:11:57
我正在做一个ASP。. NET Web应用程序。
我有两个文件->示例。Aspx和example.aspx.cs
我想知道把内联c#代码放在example.aspx的顶部有什么区别
<%
if (Session["Page"] != null)
{
//method that maps session vars to form elements
loadSessionData();
}
%>
并将代码放入文件example.aspx.cs
后面代码的Page_Load()方法中protected void Page_Load(object sender, EventArgs e)
{
if (Session["Page"] != null)
{
//method that maps session vars to form elements
loadSessionData();
}
}
根据我放置代码的位置,应用程序在将会话数据加载到表单元素方面的行为不同。
如果有任何帮助,我将不胜感激。
更新:我弄清楚了为什么根据放置代码的位置,应用程序的行为会有所不同。如果我将内联c#方法调用放在.aspx的顶部,它不会在回发时运行。如果我将c#方法调用放在.aspx.cs代码的Page_Load()方法中,它确实在回发时运行。如果我想把方法放在Page_Load方法中但不在回发时运行它我需要用:
if (!IsPostBack)
{
loadSessionData();
}
我认为最大的区别是代码执行的那一刻。Page_Load发生在Page_Render之前,这是当(我认为)内联代码被执行。
如果你只是问内联编码VS代码背后,这是值得检查。ASP。. NET - Inline vs. Code-Behind