【问题标题】:Inline C# code vs Page_Load method内联 C# 代码与 Page_Load 方法
【发布时间】:2013-04-26 01:56:09
【问题描述】:

我正在开发一个 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();
}

【问题讨论】:

  • &lt;%...%&gt; 在页面呈现时运行......

标签: c# asp.net inline code-behind pageload


【解决方案1】:

如果您只是询问 Inline Coding VS code behind ,这值得检查。 ASP.NET - Inline vs. Code-Behind

【讨论】:

    【解决方案2】:

    我认为最大的区别是代码执行的时刻。 Page_Load 发生在 Page_Render 之前,这是(我认为)执行内联代码的时候。

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 2010-09-10
      • 2017-12-08
      • 1970-01-01
      • 2010-11-15
      • 2021-03-24
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      相关资源
      最近更新 更多