gpt4 book ai didi

c# - 将对象从 dll 文件传递​​到代码隐藏文件 asp.net c#

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:42 27 4
gpt4 key购买 nike

我想弄清楚如何将我在 dll 文件中创建的对象传递到我的 Web 应用程序中的代码隐藏文件。

这是我制作的类(class):

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 = 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

关于c# - 将对象从 dll 文件传递​​到代码隐藏文件 asp.net c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com