Я работаю над веб-приложением ASP.NET.
У меня есть два файла -> example.aspx и его код за example.aspx.csInline C# code vs Page_Load метод
Я задаюсь вопросом, в чем разница между положить встроенный C# код в верхней части example.aspx
<%
if (Session["Page"] != null)
{
//method that maps session vars to form elements
loadSessionData();
}
%>
и ввод кода в методе Page_Load() кода позади файла example.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Page"] != null)
{
//method that maps session vars to form elements
loadSessionData();
}
}
в зависимости, где я ставлю код поведения приложения отличается в отношении загрузки данных сессии в виде элементов.
Любая помощь в этом была бы принята с благодарностью.
Обновление: Я выяснил, почему в зависимости от того, где я поместил код, поведение приложения по-разному. Если я поставлю вызов inline C# в верхней части .aspx, он не будет выполняться при обратных передачах. Если я положу вызов метода C# в методе Page_Load() кода .aspx.cs за файлом, он запускается на обратной стороне. Так что, если я хочу поставить метод в методе Page_Load, но не запускать его на постбэков мне нужно будет обернуть его в:
if (!IsPostBack)
{
loadSessionData();
}
'<%...%>' работает как страница рендеринга .... – Aristos