将一个对象从dll文件传递到asp.net c#文件后面的代码
本文关键字:文件 net 代码 asp 一个对象 dll | 更新日期: 2023-09-27 18:18:39
我正试图找出如何通过我在dll文件中创建的对象到我的web应用程序中的代码文件。
这是我创建的类:
public class BugReports
{
public object userRoleDropDown()
{
SqlConnection conn;
SqlCommand userRoleComm;
SqlDataReader reader;
string connectionSrting = ConfigurationManager.ConnectionStrings["BugReports"].ConnectionString;
conn = new SqlConnection(connectionSrting);
userRoleComm = new SqlCommand(
"SELECT UserRoleID, UserRoleName FROM userRoles", conn);
try
{
conn.Open();
reader = userRoleComm.ExecuteReader();
/*
addUserRollDropDownList.DataSource = reader;
addUserRollDropDownList.DataValueField = "UserRoleID";
addUserRollDropDownList.DataTextField = "UserRoleName";
addUserRollDropDownList.DataBind();*/
reader.Close();
}
finally
{
conn.Close();
}
return reader;
}
}
然后我想在我的cs文件中使用阅读器,但我从哪里开始?我想一个简单的;
BugReports reader = new BugReports();
可以,但是没有显示
假设您已经正确地连接了项目对dll的引用和代码文件中的using语句。
BugReports reader = new BugReports();
那一行只获得BugReports
类的一个实例,为了使它做一些需要调用方法的工作。
reader.userRoleDropDown();
我不知道你为什么要返回你已经关闭的SqlDataReader reader
,它不再有任何用途。此外,您通过调用reader = userRoleComm.ExecuteReader();
来选择数据,但所有的工作都被注释掉,不确定这是否是故意的。
您可能最好使用SQLDataAdapter,因为您的UI控件对您的类不可见,并且在SQLDataReader关闭后您无法访问它中的数据。
public DataSet userRoleDropDown()
{
string connectionSrting = ConfigurationManager.ConnectionStrings["BugReports"].ConnectionString;
string queryString = "SELECT UserRoleID, UserRoleName FROM userRoles";
using (SqlConnection connection = new SqlConnection(connectionSrting))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand( queryString, connection);
adapter.Fill(dataset);
return dataset;
}
}
然后,您可以对应用程序中选定的数据做任何您喜欢的事情。
关于这里使用的重要类的更多信息:SqlDataAdapter DataSet
如果您已经内置了程序集,则应该转到ASP。. Net应用程序,然后添加一个对程序集[dll文件]的引用,然后添加一个using语句,如下所示
namespace CustomLibrary;
{
public class BugReports
{
}
}
在asp.net aspx.cs文件中,
using CustomLibrary;
BugReports reader = new BugReports();
请在此张贴您对实施的理解或任何其他更新。