我正在开发 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();
}
}
根据我放置代码的位置,应用程序在将 session 数据加载到表单元素方面表现不同。
如有任何帮助,我们将不胜感激。
更新: 我弄清楚了为什么根据我放置代码的位置,应用程序的行为会有所不同。如果我将内联 C# 方法调用放在 .aspx 的顶部,它不会在回传上运行。如果我将 C# 方法调用放在 .aspx.cs 代码隐藏文件的 Page_Load() 方法中,它会在回传上运行。因此,如果我想将该方法放在 Page_Load 方法中但不在回传中运行它,我需要将其包装在:
if (!IsPostBack)
{
loadSessionData();
}
最佳答案
我认为最大的区别在于代码执行的时间。 Page_Load 发生在 Page_Render 之前,这是(我认为)执行内联代码的时间。
关于c# - 内联 C# 代码与 Page_Load 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16328816/