我正在尝试将其从SQL Server中获取两个数据到Text Field
的{{1}}。因此,如果我获得数据drop down list
和AccountID='1','2'
。我想要它显示:
1-Build it inc
2-It ltd
我可以从sql获取数据并获取CompanyName='Build it inc','It ltd'
到DataValueField
但是如何显示它。这是我的aspx。
AccountID
我该怎么做?
编辑:因为很多人在这里问我的代码背后。感谢所有帮助
<asp:DropDownList ID="DDLTemplates" DataValueField="AccountID"
DataTextField='<%#Eval("AccountID") + "-" + Eval("CompanyName")%>'
runat="server"></asp:DropDownList>
答案编辑:psoshmo和ragerory找到了我的问题的答案。现在这是我的代码,它可以工作:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DDLTemplates.DataSource = GetItems();
DDLTemplates.DataBind();
}
}
public DataSet GetItems()
{
String conn = ConfigurationManager.ConnectionStrings["LiquidusConnectionString"].ConnectionString;
SqlConnection sqlConnection2 = new SqlConnection(conn);
string oString = "Select AccountID, CompanyName from Account";
SqlCommand cmd = new SqlCommand(oString);
cmd.Connection = sqlConnection2;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sqlConnection2.Open();
da.Fill(ds);
sqlConnection2.Close();
return ds;
}
代码背后:
<asp:DropDownList ID="DDLTemplates" DataValueField="AccountID" DataTextField="Company" runat="server"></asp:DropDownList>
希望这有助于未来的Google员工:)
答案 0 :(得分:1)
根据您的GetItems
方法,您可以更改oString
变量...
string oString = "SELECT AccountID, (Convert(varchar,AccountId) + ' - ' + CompanyName) as Company FROM Account";
然后将您的控件更改为以下
<asp:DropDownList ID="DDLTemplates" DataValueField="AccountID" DataTextField="Company" runat="server"></asp:DropDownList>
您正在连接这两个字段,并将它们设为一个名为Company
的列,这样就可以作为TextField。
答案 1 :(得分:0)
只需在类中创建一个将这些字段添加到一起的字段,然后将其绑定到DataTextField
类似的东西:
public string YourFieldNameHere
{
get { return String.Format("{0} - {1}", AccountID, CompanyName); }
}
编辑:假设你有一个类文件设置我不好。通常,您应该避免在网页代码中使用类似GetItems()的方法。如果你必须在另一个页面中获得相同的记录,你最终会复制你的代码,这是不好的做法。我建议你考虑设置类文件来处理这样的select语句,以及你可能需要的其他字段和方法。