gpt4 book ai didi

c# - 从列表集合中填充下拉列表 c#/asp.net

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:19 25 4
gpt4 key购买 nike

我有一个名为 memberdetails 和 memberdb 的类,它们是我的类库的一部分。我正在使用带有 MSSQL 作为后端的 asp.net C#

我的成员(member)详情类

     public int MemID
{
get { return memID; }
}

public string FirstName
{
get { return firstName; }
set { firstName = value; }
}

public MemberDetails(int memID, string firstName)
{
this.memID = memID;
this.firstName = firstName;
}

成员数据库类

public List<MemberDetails> MemberResult(int memid)
{
using (SqlConnection con = new SqlConnection(connectionString))
using (SqlCommand cmd = con.CreateCommand())
{
List<MemberDetails> memberdetails = new List<MemberDetails>();
MemberDetails member;

try
{
con.Open();
cmd.CommandText = "usp_Member_Result";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@memgen", memid);

using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
member = new MemberDetails((int)reader["memid"], (string)reader["firstname"]);
memberdetails.Add(member);

}
reader.Close();
return memberdetails;
}
}
catch (SqlException err)
{
throw new ApplicationException("Data error.", err);
}
finally
{
if (con != null)
con.Close();
}
}
}

在我将这些类编译成 DLL 并将其添加为对我的项目的引用后,我尝试绑定(bind)我的 DropDownlist 以检索这些值。在代码隐藏页面中,我从 gridview 中获取一个值,将其放入变量“memgen”中,将其发送到我的方法,然后返回结果。当我调试我的应用程序时,我看到返回了值,但是它们没有绑定(bind)到 DropDownList。

代码隐藏页面

 member.MemberResult(memgen);
// MemberDetails details = new MemberDetails();

ddlFamilyMembers.DataTextField = "Text";
ddlFamilyMembers.DataValueField = "Value";
// ddlFamilyMembers.DataSource = memberdetails; << "This does not exist in the current context"
ddlFamilyMembers.DataBind();

最佳答案

您的代码隐藏需要更改为如下所示:

List<MemberDetails> details = member.MemberResult(memgen); 

ddlFamilyMembers.DataTextField = "FirstName";
ddlFamilyMembers.DataValueField = "MemID";
ddlFamilyMembers.DataSource = details;
ddlFamilyMembers.DataBind();

具体变化:

  1. 捕获MemberResult的结果
  2. DataTextFieldDataValueField 使用正确的字段名称>
  3. 设置数据源属性

关于c# - 从列表集合中填充下拉列表 c#/asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12566721/

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