我正在开发一个 ASP.NET Web 应用程序。
我有两个文件-> example.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();
}