#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. Спасибо.