【发布时间】:2016-02-11 23:11:31
【问题描述】:
我无法将通用枚举列表绑定到 GridView,以下是所有详细信息:
错误信息
ID 为“GridView1”的 GridView 的数据源没有任何属性或属性可用于生成列。确保您的数据源有内容。
ASPX 页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Amikids.Pages.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
代码背后
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Amikids.Pages
{
public partial class WebForm1 : System.Web.UI.Page
{
public enum Pet
{
Cat = 0,
Dog = 1,
Bird = 2
}
protected void Page_Load(object sender, EventArgs e)
{
List<Pet> pets = new List<Pet>();
pets.Add(Pet.Bird);
pets.Add(Pet.Dog);
GridView1.DataSource = pets;
GridView1.DataBind();
}
}
}
【问题讨论】:
-
@DavidTansey - 在您提供的帖子中,它们绑定到一个对象,该对象包含一个类型为枚举的属性。我绑定到枚举值列表。重要的区别是没有要使用的数据字段名称。起初,您似乎可以使用枚举名称作为数据字段名称。但是,就像您绑定到字符串列表(即 List
)一样,您不能使用单词“string”作为数据字段名称。希望这是有道理的。
标签: asp.net list generics gridview enums