我有一个国家/地区的数据库,其中包含名称和ID。
这是代码隐藏。
CountriesEntities context = new CountriesEntities();
using (context)
{
this.gridViewCountries.DataSource = context.Countries;
this.gridViewCountries.DataBind();
}
当我把它放在html中时,它会像已经过的那样工作,显示所有列和每个国家/地区的信息。
<asp:GridView ID="gridViewCountries" runat="server" AutoGenerateColumns="true"/>
但是当我将GridView更改为:
<asp:GridView ID="gridViewCountries" runat="server" AutoGenerateColumns="false">
<asp:Columns>
<asp:TemplateField>
<HeaderTemplate>
Name
</HeaderTemplate>
<ItemTemplate>
<span><%# Eval("Name") %></span>
</ItemTemplate>
</asp:TemplateField>
</asp:Columns>
</asp:GridView>
页面上没有显示任何内容,我不明白为什么。有人可以给我一个暗示吗?
答案 0 :(得分:0)
在GridView
中,我通常会使用Bind
,而不是Eval
:
<ItemTemplate>
<span><%# Bind("Name") %></span>
</ItemTemplate>
如果这不起作用,我能想到的另一个可能性是,绑定到Datasource
的{{1}}没有名为“Name”的列(由于某种原因)
修改强>
实际上,您可能还想尝试在服务器端GridView
控件中使用它:
Label