将一个对象从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文件传递到asp.net c#文件后面的代码

假设您已经正确地连接了项目对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();

请在此张贴您对实施的理解或任何其他更新。