我使用asp.net,c#和sql server开发了在线约会应用程序。 我想在该下拉列表中绑定两列。 在我的数据库表中有两列MobileNo,LandNo。 我希望使用C#和asp.net将这两列值放在一个下拉列表中。 例如:
Mobileno:97456874532,7523684521
Landno:0886075123,0886035123
下拉结果:
97456874532
7523684521
0886075123
0886035123
答案 0 :(得分:0)
这是你想为此做的一种定制,你需要在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属性。
答案 1 :(得分:0)
为了简单起见,我不会创建自定义类型,而是依赖像int
或string
这样的内置类型(适合您的需要)。在这里,我正在考虑移动和&amp;电话号码是intergers并将它们添加到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();
答案 2 :(得分:0)
我希望您将数据库中的列(移动号码)直接绑定到列表中。如果你喜欢这样,只有那些列值绑定到列表。
如果要绑定两个或多个列值(甚至包括自定义字符串),则需要在&#34; OnItemBound&#34;中进行管理。下拉列表的事件。
In&#34; OnItemBound&#34; event展开两个列值并使用这些评估值创建一个字符串,然后将新构造的字符串分配给列表项。
看起来像这样
Item.text =&#34; Mobileno:&#34; + Eval(&#34; Mobileno&#34;)。ToString()+&#34;,&#34; + Eval(&#34; Landno&#34;)。ToString();
如果你发布你写的代码,我会清楚地解释。