将对象从dll文件传递到文件asp.net c#后面的代码
Posted
技术标签:
【中文标题】将对象从dll文件传递到文件asp.net c#后面的代码【英文标题】:Passing an object from dll file to code behind file asp.net c# 【发布时间】:2013-06-14 15:59:55 【问题描述】:我试图弄清楚如何将我在 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();
会起作用,但没有任何反应。
【问题讨论】:
【参考方案1】:假设您的项目对 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;
然后,您可以使用从应用程序中选择的数据做任何您喜欢的事情。
有关此处使用的重要类的更多信息:SqlDataAdapterDataSet
【讨论】:
【参考方案2】:如果你已经内置了一个程序集,你应该去 ASP.Net 应用程序,然后添加对程序集 [dll 文件] 的引用,然后添加一个如下所示的 using 语句
namespace CustomLibrary;
public class BugReports
在asp.net aspx.cs文件中,
using CustomLibrary;
BugReports reader = new BugReports();
在此处发布您对实施的理解或任何其他更新。
【讨论】:
以上是关于将对象从dll文件传递到文件asp.net c#后面的代码的主要内容,如果未能解决你的问题,请参考以下文章
将 DLL 引用添加到 C# asp.net 项目后如何调用函数
如何将文件和 json 对象从邮递员传递到 asp.net 核心 webapi
新的 dll 文件上传到 bin 文件夹后的 ASP.NET 运行时错误
将对象列表从 c# 传递到糟糕的 c++ win32 本机 dll 的最有效方法是啥?