0

我有一个GridView1,我从后面的代码绑定。中的一列GridView取决于Label1.Text如下:

SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name, " + Label1.Text + " FROM Home_Profile_Master", con);
SqlDataAdapter da = new SqlDataAdapter(comd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();

同样的aspx代码是:

<asp:TemplateField HeaderText="Location_Profile_Name" 
SortExpression="Location_Profile_Name">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" 
Text='<%# Bind("Location_Profile_Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Home_Profile" SortExpression="Label10">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Home_Profile") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Home_Profile") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>

我在 aspx 页面中收到错误消息:DataBinding: 'System.Data.DataRowView' does not contain a property with name 'Home_Profile'

我无法弄清楚错误是什么。请帮助...!谢谢你。

4

2 回答 2

1

你应该在数据表中有 Home_Profile 列试试这个

 SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name,Home_Profile, " + Label1.Text + " FROM Home_Profile_Master", con);
于 2012-09-28T06:42:45.773 回答
1

您在查询中错过了“Home_Profile”。

SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name," + Label1.Text + " as Home_Profile FROM Home_Profile_Master", con);
于 2012-09-28T06:44:10.967 回答