1

错误信息:

id 为“FormProprietari”的 GridView 的数据源没有任何属性或属性可用于生成列。确保您的数据源有内容。

我有一个 ASP.NET 应用程序,我在其中尝试将 a 绑定GridView到一个List<T>对象,从我在网上可以看出它应该是可能的。

这是我的GridView

<asp:GridView ID="FormProprietari" runat="server">
        <Columns>
            <asp:TemplateField >
                 <ItemTemplate> 
                    <%#((Lab_TAP_web.Proprietar)Container.DataItem).NumeProprietar%> 
                 </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField >
                 <ItemTemplate> 
                    <%#((Lab_TAP_web.Proprietar)Container.DataItem).PrenumeProprietar%> 
                 </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField >
                 <ItemTemplate> 
                    <%#((Lab_TAP_web.Proprietar)Container.DataItem).ProprietarID%> 
                 </ItemTemplate>
            </asp:TemplateField>
        </Columns>

    </asp:GridView>

这是我将Proprietar我定义的类的新对象添加到数据库然后重新绑定gridview以显示它的函数,我应该提到最初数据库是空的,gridview也是空的,即它不显示向上。

protected void Button2_Click(object sender, EventArgs e)
        {
            var Nume = TBNumeProprietar.Text;
            var Prenume = TBPreNumeProprietar.Text;

            MyCars db = DBSilo.db;

            Proprietar newOwner = new Proprietar();
            newOwner.NumeProprietar = Nume;
            newOwner.PrenumeProprietar = Prenume;
            newOwner.ProprietarID = (db.Proprietari.Count() + 1);
            //newOwner.ProprietarID = 1;



            db.Proprietari.InsertOnSubmit(newOwner);
            db.SubmitChanges();

            try
            {
                FormProprietari.DataSource = db.Proprietari.ToList();
            }
            catch (Exception)
            {

                throw;
            }
            FormProprietari.DataBind();           
        }

问题是我检查了List<Proprietar>哪个是带有断点的数据源,并且列表始终包含一个Proprietar对象。

有谁知道我做错了什么?

4

1 回答 1

1

从评论移到答案。

请确保您对每个Proprietar类的属性都有 getter 和 setter -

public class Proprietar
{
    public string NumeProprietar { get; set; }
    public string PrenumeProprietar { get; set; }
    public int ProprietarID { get; set; }
}
于 2013-05-12T02:47:43.837 回答