如何在我的.aspx文件中硬编码GridView?

时间:2013-05-02 21:02:25

标签: asp.net gridview

我希望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>

1 个答案:

答案 0 :(得分:3)

您希望分配IEnumerable,DataSet或DataTable以在GridView中显示数据。

enter image description here

<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>