0

我想有一个包含静态数据的 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>
4

1 回答 1

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>
于 2013-05-02T21:09:17.883 回答