阿不存 2024-03-19 22:45 采纳率: 0%
浏览 12

c#DataRowView不包含属性

System.Web.HttpException:“DataBinding:“System.Data.DataRowView”不包含名为“mid”的属性。”
尝试过在.aspx页面中添加属性DataKeyNames,也在后台绑定过不管怎样均报错,数据源字段中也包含mid字段

img


问题发生在自定义绑定gv的方法中,页面首次加载时能成功显示gv

img


在前端添加过DataKeyNames属性,无果

img


这是getdata方法的创建

img


我在模版列中定义了两个按钮,当点击编辑按钮时就会出现上述错误,删除则不会,数据库中包含mid字段

img

请各位指点

  • 写回答

1条回答 默认 最新

  • _东_ 2024-03-20 15:51
    关注

    我用了你提供的截图里的代码,但是没有重现你的问题。代码正常工作,没有任何报错信息。

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="mid" OnRowEditing="GridView1_RowEditing">
        <Columns>
            
            <asp:BoundField DataField="mid" HeaderText="生产许可号" ReadOnly="true" />
            <asp:BoundField DataField="mname" HeaderText="Colum 2" ReadOnly="true" />
            <asp:BoundField DataField="mplace" HeaderText="Colum 3" ReadOnly="true" />
        </Columns>
    </asp:GridView>
    
    string constr = ConfigurationManager.ConnectionStrings["constr"].ToString();
    SqlConnection con;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            binddata();
        }
    }
    
    public void binddata()
    {
        DataTable dt = new DataTable();
        
        string query = $"select * from Manuefactor";
        con = new SqlConnection(constr);
        con.Open();
        GridView1.DataSource = GetData(query);
        GridView1.DataKeyNames = new string[] { "mid" };
        GridView1.DataBind();
    }
    
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        binddata();
    }
    
    public DataTable GetData(string query)
    {
        DataTable dt = new DataTable();
        SqlDataAdapter sda = new SqlDataAdapter(query, con);
        sda.Fill(dt);
        return dt;
    }
    

    如果可能,请提供完整的代码以便我们可以重现问题以找出问题原因。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月19日

悬赏问题

  • ¥15 yolo v5中labelimg的作用
  • ¥30 VBA网抓application/json的网抓怎么写!
  • ¥15 国赛c题2021,没有理解这一串代码的意思,这样报错该怎么解决(语言-matlab)
  • ¥15 一、执行完中断程序后如何继续运行,二、中断结束后如何跳过中断触发前的点位(LOW点不要继续运行,可以运行UP点)(关键词-程序运行)
  • ¥15 if为什么跳过if 直接执行else 中文
  • ¥200 解决登录微信老版本限制封号问题
  • ¥15 mysql中时间处理问题
  • ¥20 讲解此音频放大电路原理及关键部分
  • ¥15 rtsp 转 m3u8 执行后卡在Decoding VUI
  • ¥20 微信小程序转发链接问题,已禁止转发仍能转发的场景