在下拉列表中绑定两列值
本文关键字:两列 下拉列表 绑定 | 更新日期: 2023-09-27 18:29:12
我使用asp.net、c#和sql server开发了在线约会应用程序。我想绑定下拉列表中的两列。在我的数据库表中有两列MobileNo和LandNo。我希望使用C#和asp.net将这两列的值放在一个下拉列表中。例如:
Mobileno:97456874532,7523684521
Landno:0886075123,0886035123
下拉结果:
97456874532
7523684521
0886075123
0886035123
这是您想要为此进行的自定义。您需要在sql查询中连接列的值,或者您可以在获得集合后在代码中执行此操作。
public class ContactNumber
{
public string MobileNo {get;set;}
public string LandNo {get; set;}
public string ContacNo { get {retun MobileNo +','+ LandNo;}}
}
现在从数据库中获取所有的列表
List<ContactNumber> contacno = = new List<ContactNumber>()
{
new ContactNumber(){ MobileNo = 1, LandNo = "Jessica"},
new ContactNumber(){ MobileNo = 2, LandNo = "Mandy"}
};
而不是分配您的下拉列表,即将ContactNo属性绑定到下拉列表的DataTextField属性。
为了简单起见,我不会创建自定义类型,而是依赖于像int
或string
这样的内置类型(任何适合您需要的类型)。在这里,我正在考虑移动&电话号码是整数,将它们添加到ADO.NET代码中,如下所示:-
public List<int> GetContactInfo()
{
List<int> contacts = new List<int>();
using (SqlConnection conn = new SqlConnection(CS))
{
using (SqlCommand cmd = new SqlCommand("select Mobileno,Landno FROM Demo", conn))
{
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
contacts.Add(Convert.ToInt32(reader["Mobileno"]));
contacts.Add(Convert.ToInt32(reader["Landno"]));
}
}
}
}
return contacts;
}
然后只需将此数据源添加到下拉列表中:-
myDropdown.DataSource = GetContactInfo();
myDropdown.DataBind();
我希望您将数据库中的列(mobile no)直接绑定到列表中。如果您喜欢这样做,那么只有列值绑定到列表。
如果您想绑定两个或多个列值(甚至包括您的自定义字符串),您需要在下拉列表的"OnItemBound"事件中进行管理。
在"OnItemBound"事件中,对两列值进行求值,并使用这些求值值生成一个字符串,然后将新构造的字符串分配给列表项。
它看起来像这个
Item.text="Mobileno:"+Eval("Mobileno").ToString()+","+Evaal("Landno").ToString(;
如果你发布你写的代码,我会解释清楚的。