C# 如何从C中的另一个类调用函数#
我想为我的所有按钮单击方法创建一个泛型类。我的按钮单击方法在同一个aspx.cs文件中正常工作,但当我想从泛型类调用此方法时。但参数并没有传递。谁能帮帮我吗。这是我的密码 这是基类 这是第二节课,从那里我想调用按钮方法 试试下面的代码C# 如何从C中的另一个类调用函数#,c#,asp.net,inheritance,C#,Asp.net,Inheritance,我想为我的所有按钮单击方法创建一个泛型类。我的按钮单击方法在同一个aspx.cs文件中正常工作,但当我想从泛型类调用此方法时。但参数并没有传递。谁能帮帮我吗。这是我的密码 这是基类 这是第二节课,从那里我想调用按钮方法 试试下面的代码 namespace WebApplication1 { public partial class Singnup : System.Web.UI.Page { protected void SUpButton_Click(objec
namespace WebApplication1
{
public partial class Singnup : System.Web.UI.Page
{
protected void SUpButton_Click(object sender, EventArgs e)
{
string EmailId = "yourmailid@domain.com";
Webapplication2.program.InsertRData(EmailId);
}
}
}
namespace Webapplication2
{
public class program : WebApplication1.Singnup
{
public static void Insert_RData(object sender, EventArgs e)
{
string EmailId = "yourmailid@domain.com";
InsertRData(EmailId);
}
public static void InsertRData(string EmailId)
{
SqlConnection con_Signup = new SqlConnection(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString);
con_Signup.Open();
SqlCommand cmd_check = new SqlCommand("Check_Existing_Email", con_Signup);
cmd_check.CommandType = CommandType.StoredProcedure;
cmd_check.Parameters.AddWithValue("@mail", EmailId);
object i = cmd_check.ExecuteScalar();
if (i != null)
{
lbforerror.Text = "This Email is already Registered";
lbforerror.Visible = true;
}
}
}
}
试试下面的代码
namespace WebApplication1
{
public partial class Singnup : System.Web.UI.Page
{
protected void SUpButton_Click(object sender, EventArgs e)
{
string EmailId = "yourmailid@domain.com";
Webapplication2.program.InsertRData(EmailId);
}
}
}
namespace Webapplication2
{
public class program : WebApplication1.Singnup
{
public static void Insert_RData(object sender, EventArgs e)
{
string EmailId = "yourmailid@domain.com";
InsertRData(EmailId);
}
public static void InsertRData(string EmailId)
{
SqlConnection con_Signup = new SqlConnection(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString);
con_Signup.Open();
SqlCommand cmd_check = new SqlCommand("Check_Existing_Email", con_Signup);
cmd_check.CommandType = CommandType.StoredProcedure;
cmd_check.Parameters.AddWithValue("@mail", EmailId);
object i = cmd_check.ExecuteScalar();
if (i != null)
{
lbforerror.Text = "This Email is already Registered";
lbforerror.Visible = true;
}
}
}
}
您正在将信息从实例化类
向静态类程序传递。标签等将无法从静态类中获得,因为它与实际标签没有连接
如果您希望分离按钮单击操作,并且希望它们访问表单元素(例如lbforerror
),那么我建议您使用分部类或仅使用同一类中的区域来清理逻辑
#region Button Logic
//Your logic here
#endregion //button logic
最好的方法是将可重用逻辑分离到一个完全不同的类中(在本例中,处理插入),该类返回结果,并在原始类中决定:
public class ConnectionManager
{
public object InsertRData(string EmailId)
{
SqlConnection con_Signup = new SqlConnection(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString);
con_Signup.Open();
SqlCommand cmd_check = new SqlCommand("Check_Existing_Email", con_Signup);
cmd_check.CommandType = CommandType.StoredProcedure;
cmd_check.Parameters.AddWithValue("@mail", EmailId);
object i = cmd_check.ExecuteScalar();
return i;
}
}
然后你的原始类可以简单地说
public partial class Singnup : System.Web.UI.Page
{
protected void SUpButton_Click(object sender, EventArgs e)
{
ConnectionManager mgr = new ConnectionManager();
object i = mgr.Insert_RData("email logic here");
if (i != null)
{
lbforerror.Text = "This Email is already Registered";
lbforerror.Visible = true;
}
}
}
您正在将信息从实例化类Singup
传递到静态类程序
。静态类将无法使用标签等,因为它与实际标签没有连接
如果您希望分离按钮单击操作,并且希望它们访问表单元素(例如lbforerror
),那么我建议您使用分部类或仅使用同一类中的区域来清理逻辑
#region Button Logic
//Your logic here
#endregion //button logic
最好的方法是将可重用逻辑分离到一个完全不同的类中(在本例中,处理插入),该类返回结果,并在原始类中决定:
public class ConnectionManager
{
public object InsertRData(string EmailId)
{
SqlConnection con_Signup = new SqlConnection(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString);
con_Signup.Open();
SqlCommand cmd_check = new SqlCommand("Check_Existing_Email", con_Signup);
cmd_check.CommandType = CommandType.StoredProcedure;
cmd_check.Parameters.AddWithValue("@mail", EmailId);
object i = cmd_check.ExecuteScalar();
return i;
}
}
然后你的原始类可以简单地说
public partial class Singnup : System.Web.UI.Page
{
protected void SUpButton_Click(object sender, EventArgs e)
{
ConnectionManager mgr = new ConnectionManager();
object i = mgr.Insert_RData("email logic here");
if (i != null)
{
lbforerror.Text = "This Email is already Registered";
lbforerror.Visible = true;
}
}
}
您得到的实际错误是什么?您得到的实际错误是什么?