首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请帮帮小弟我。DataBinding:“System.Data.DataRowView”不包含名为“ID”的属性

2011-12-14 
请帮帮我。DataBinding:“System.Data.DataRowView”不包含名为“ID”的属性。前台:asp:GridViewID gvEme ru

请帮帮我。DataBinding:“System.Data.DataRowView”不包含名为“ID”的属性。
前台:
<asp:GridView   ID= "gvEme "   runat= "server "   AutoGenerateColumns= "False "   Width= "100% "
                        AllowPaging= "True "   OnPageIndexChanging= "gvEme_PageIndexChanging "
                        OnRowDeleting= "gvEme_RowDeleting "   OnRowDataBound= "gvEme_RowDataBound "
                        OnRowUpdating= "gvEme_RowUpdating ">
                        <Columns>
                                <asp:TemplateField   HeaderText= "用户名 ">
                                        <ItemTemplate>
                                                <%#   Eval( "UserName ")%>
                                        </ItemTemplate>
                                        <ItemStyle   Width= "20% "   />
                                </asp:TemplateField>
                                <asp:TemplateField   HeaderText= "真实姓名 ">
                                        <ItemTemplate>
                                                <%#   Eval( "Name ")   %>
                                        </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField   HeaderText= "班级 ">
                                        <ItemTemplate>
                                                <%#   Eval( "UserClass ")   %>
                                        </ItemTemplate>
                                </asp:TemplateField>


                                <asp:TemplateField   HeaderText= "性别 ">
                                        <ItemTemplate>
                                                  <%#   Eval( "Sex ")   %>
                                        </ItemTemplate>
                                        <ItemStyle   HorizontalAlign= "Center "   Width= "60px "   />
                                </asp:TemplateField>
                                <asp:TemplateField   ShowHeader= "False "   HeaderText= "是否通过 ">
                                        <ItemTemplate>
                                                <asp:CheckBox   ID= "chkExamine "   runat= "server "   Text= ' <%#   Bind( "Examine ")   %> '   Width= "25px "> </asp:CheckBox>
                                        </ItemTemplate>
                                        <ItemStyle   HorizontalAlign= "Center "   Width= "80px "   />
                                </asp:TemplateField>
                                <asp:TemplateField   ShowHeader= "False "   HeaderText= "删除同学 ">
                                        <ItemTemplate>
                                                <asp:Button   ID= "btnDelete "   runat= "server "   CausesValidation= "False "   CommandName= "Delete "
                                                        Text= "删除 "   OnClientClick= "return   confirm( '是否删除此同学? '); "   />
                                        </ItemTemplate>
                                        <ItemStyle   HorizontalAlign= "Center "   Width= "80px "   />


                                </asp:TemplateField>
                        </Columns>
                </asp:GridView>

后台:
  protected   DAL.Users   myDAL   =   new   DAL.Users();
        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                if   (!IsPostBack)
                {
                        BindData();
                }
        }

        protected   void   BindData()
        {
                DataTable   dt   =   new   DataTable();
                myDAL.GetNewUserList(dt);
                gvEme.DataSource   =   dt;
                gvEme.DataBind();
        }

SQL语句:
public   void   GetNewUserList(DataTable   dt)
                {
                        string   cmdText   =   "SELECT   [UserName],[Name],[UserClass],[Sex],[Examine]   FROM   [Users]   ORDER   BY   ID ";
                        db.LoadDataTable(cmdText,   dt);
                }

[解决办法]
DataTable dt = new DataTable();
myDAL.GetNewUserList(dt);
gvEme.DataSource = dt;

再看看你的函数,你的dt还没数据
如果确认你的函数没错误的话,把


public void GetNewUserList(DataTable dt)

改成

public void GetNewUserList(ref DataTable dt)
试下
[解决办法]
如果GridView 使用了 ID那么你的Sql就要把ID取出来绑定上去
string cmdText = "SELECT ID, [UserName],[Name],[UserClass],[Sex],[Examine] FROM [Users] ORDER BY ID ";

热点排行