如何在 asp.net c# 中将数据绑定到转发器控件?
How can bind data to repeater control in asp.net c#?
我正在将公司数据库中的数据绑定到转发器控件。我正在尝试从数据库中获取公司名称并希望显示为标签,但它不起作用。
我的C#
代码是:
string conn_string = ConfigurationManager.ConnectionStrings["UPOneConn"].ConnectionString;
SqlConnection con = new SqlConnection(conn_string);
con.Open();
string ComSelectCompanyDataStr = "Select Company_Name from Company_Details where Company_ID = '8' ";
SqlCommand ComSelectCompanyData = new SqlCommand(ComSelectCompanyDataStr, con);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = ComSelectCompanyData;
DataTable dt = new DataTable();
da.Fill(dt);
Repeater1.DataSource = dt;
Repeater1.Visible = true;
con.Close();
和我的设计代码:
<div id="company_container">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server"><%# Eval ("Company_Name") %></asp:Label></td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
您必须添加:
Repeater1.DataBind();
在
之后
Repeater1.DataSource = dt;
所以:
Repeater1.DataSource = dt;
Repeater1.DataBind();
你的转发器在它的 ItemTemplate 中没有任何项目?
你应该这样设置:
<ItemTemplate>
<tr>
<td><%# Eval ("Company_Name") %></td>
</tr>
</ItemTemplate>
而且您 sql 查询语法错误(如果公司 ID 是 int)。
将其更改为:
"Select Company_Name from Company_Details where Company_ID = 8";
我正在将公司数据库中的数据绑定到转发器控件。我正在尝试从数据库中获取公司名称并希望显示为标签,但它不起作用。
我的C#
代码是:
string conn_string = ConfigurationManager.ConnectionStrings["UPOneConn"].ConnectionString;
SqlConnection con = new SqlConnection(conn_string);
con.Open();
string ComSelectCompanyDataStr = "Select Company_Name from Company_Details where Company_ID = '8' ";
SqlCommand ComSelectCompanyData = new SqlCommand(ComSelectCompanyDataStr, con);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = ComSelectCompanyData;
DataTable dt = new DataTable();
da.Fill(dt);
Repeater1.DataSource = dt;
Repeater1.Visible = true;
con.Close();
和我的设计代码:
<div id="company_container">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server"><%# Eval ("Company_Name") %></asp:Label></td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
您必须添加:
Repeater1.DataBind();
在
之后Repeater1.DataSource = dt;
所以:
Repeater1.DataSource = dt;
Repeater1.DataBind();
你的转发器在它的 ItemTemplate 中没有任何项目? 你应该这样设置:
<ItemTemplate>
<tr>
<td><%# Eval ("Company_Name") %></td>
</tr>
</ItemTemplate>
而且您 sql 查询语法错误(如果公司 ID 是 int)。
将其更改为:
"Select Company_Name from Company_Details where Company_ID = 8";