我有一个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'不包含名为'Home_Profile'的属性。
我无法弄清楚错误是什么。请帮助......!谢谢。
答案 0 :(得分:1)
你应该在datatable中有Home Profile列试试这个
SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name,Home_Profile, " + Label1.Text + " FROM Home_Profile_Master", con);
答案 1 :(得分:1)
你错过了查询中的'Home_Profile'。
SqlCommand comd = new SqlCommand("SELECT Location_Profile_Name," + Label1.Text + " as Home_Profile FROM Home_Profile_Master", con);