Передача значений между веб-страницей aspx и классом

#c# #asp.net #class

#c# #asp.net #класс

Вопрос:

Мне интересно, как вызвать метку с определенной страницы aspx в другом файле cs. Например:

 protected void Button1_Click(object sender, EventArgs e)
    {
        Test1.Insert1(this);
    }
  

Этот код у меня есть в файле Something.aspx.cs для вызова метода из другого созданного мной файла cs, который выглядит как:

 public static class Test1 
{
    public static void Insert1(System.Web.UI.Page Ins)

     {
        string conn = "Data Source=pc-...";
        System.Data.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection(conn);
        if (Page.IsValid)
        {
            try
            {
                sqlConn.Open();
                Ins.LabelAdd.Text = "Worked!";
                System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand("INSERT INTO ... ", sqlConn);
                myCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Ins.LabelAdd.Text = "Error! "   ex;
            }
            finally
            {
                sqlConn.Close();
            }
        }
    }
}
  

Но это не работает. Я мог сделать это раньше с помощью сеанса, но это не сработает. Я не могу вызвать LabelAdd, который я использовал на странице Something.aspx. Есть идеи о том, как я могу это исправить? Спасибо.

Комментарии:

1. Я думаю, вам следует передать значения в качестве параметров классу

Ответ №1:

Вам нужно передать ссылку на ваш элемент управления следующим образом…

 public static void Insert1(Label lblId)
  

также, пожалуйста, добавьте это using System.Web.UI.WebControls; в свой класс

Комментарии:

1. Работает, у меня уже было реализовано использование, но я не думал добавлять туда labelId. Спасибо.