Как сделать сохранение данных в форме при переходе на другую страницу и обратно?

В C# можно реализовать сохранение данных в форме при переходе на другую страницу и их последующее восстановление при возвращении на эту страницу с использованием различных подходов. Вот несколько вариантов, которые можно использовать:

1. Сохранение данных в сессию:
Сессия представляет собой механизм, который позволяет сохранять данные в течение времени сеанса пользователя. В C# вы можете использовать класс Session для сохранения данных в сессию. Например, чтобы сохранить данные в сессию при переходе на другую страницу, вы можете использовать следующий код:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        Session["Name"] = txtName.Text; // Сохраняем значение из текстового поля в сессию
    }
}

А затем, чтобы восстановить сохраненные данные при возвращении на страницу, вы можете использовать следующий код:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        if(Session["Name"] != null)
        {
            txtName.Text = Session["Name"].ToString(); // Восстанавливаем сохраненное значение из сессии
        }
    }
}

2. Сохранение данных в Cookies:
Cookies - это небольшие текстовые файлы, которые можно использовать для сохранения данных в браузере пользователя. В C# вы можете использовать класс HttpCookie для управления Cookies. Например, чтобы сохранить данные в Cookies при переходе на другую страницу, вы можете использовать следующий код:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        HttpCookie cookie = new HttpCookie("Name", txtName.Text); // Создаем новый Cookie
        Response.Cookies.Add(cookie); // Добавляем Cookie в ответ
    }
}

А затем, чтобы восстановить сохраненные данные при возвращении на страницу, вы можете использовать следующий код:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        if(Request.Cookies["Name"] != null)
        {
            txtName.Text = Request.Cookies["Name"].Value; // Восстанавливаем сохраненное значение из Cookie
        }
    }
}

3. Сохранение данных в базе данных:
Если вы хотите сохранить данные в базе данных, чтобы они были доступны вне контекста сессии или Cookies, вы можете использовать ADO.NET для выполнения операций с базой данных. Например, чтобы сохранить данные в базу данных при переходе на другую страницу, вы можете использовать следующий код:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        string name = txtName.Text; // Получаем значение из текстового поля

        // Код для сохранения данных в базу данных
    }
}

А затем, чтобы восстановить сохраненные данные при возвращении на страницу, вы можете использовать следующий код:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        // Код для извлечения сохраненных данных из базы данных
        string name = // Получите сохраненное значение из базы данных

        txtName.Text = name; // Восстанавливаем сохраненное значение в текстовое поле
    }
}

В зависимости от конкретных требований вашего приложения вы можете выбрать соответствующий подход для сохранения данных в форме при переходе на другую страницу и их последующего восстановления. Обратите внимание, что эти коды являются только примерами и требуют дальнейшей настройки и адаптации для вашего конкретного случая.