我希望GridView中包含静态数据,而不是链接到任何数据库或数据源,我想直接在我的aspx文件中对其进行硬编码。
我是ASP.NET的新手,不知道我在做什么,无论出于什么原因,我都无法在网上找到关于如何做到这一点的任何内容。
我正在尝试创建一个标题为“Hello World”的单列表和两个数据项“Hello”和“World”。这是我正在尝试的内容,但页面上没有任何内容显示当我运行它时:
<asp:GridView ID="GridView" runat="server">
<Columns>
<asp:TemplateField HeaderText ="Hello World">
<ItemTemplate>
<asp:Label ID="lblHello" runat ="server" Text ="Hello"/>
</ItemTemplate>
<ItemTemplate>
<asp:Label ID="lblWorld" runat ="server" Text ="World"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:3)
您希望分配IEnumerable,DataSet或DataTable以在GridView中显示数据。
<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Hello World">
<ItemTemplate>
<asp:Label ID="lblHello" runat="server"
Text='<%# Eval("Text1") %>' />
<asp:Label ID="lblWorld" runat="server"
Text='<%# Eval("Text2") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
public class Item
{
public string Text1 { get; set; }
public string Text2 { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
GridView.DataSource = new List<Item>
{
new Item {Text1 = "Hello", Text2 = "World"}
};
GridView.DataBind();
}
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
GridView.DataSource =
new Dictionary<string, string> { { "Hello", "World" } };
GridView.DataBind();
}
</script>
<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Hello World">
<ItemTemplate>
<asp:Label ID="lblHello" runat="server"
Text='<%# Eval("Key") %>' />
<asp:Label ID="lblWorld" runat="server"
Text='<%# Eval("Value") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>