You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET绑定SQL Server数据到GridView时触发CS1061编译错误咨询

问题原因

该CS1061编译错误与SQL查询、数据绑定逻辑无关,触发根源是aspx页面的GridView控件声明中绑定了OnSelectedIndexChanged="GridView1_SelectedIndexChanged"选中项变更事件,但后端对应代码文件中未定义同名的事件处理方法,编译器无法找到匹配的方法入口,因此终止编译抛出错误。

解决方案

根据你是否需要使用行选中交互功能,二选一处理即可:

  • 不需要处理选中逻辑:直接删除GridView标签上的OnSelectedIndexChanged="GridView1_SelectedIndexChanged"属性,修改后的控件声明如下:
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
  • 需要保留选中事件能力:在页面对应的后端代码文件(updateform.aspx.cs)中补全匹配的事件处理方法,不需要写逻辑时方法体可以留空:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    // 后续可在此处编写行选中后的业务逻辑
}
现有绑定代码补充修正

你当前写的数据查询绑定逻辑缺少最后一步绑定调用,会导致查询到的数据无法正常渲染到GridView中,需要在GridView1.DataSource = dt;后补充一行调用:

GridView1.DataBind();

另外建议将数据库连接、操作逻辑包裹在using语句块中,自动释放数据库连接资源,避免资源泄漏,修正后的完整绑定代码参考:

using (SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-62V61RT\SQLEXPRESS; Initial Catalog =ShopOnlineDB; Integrated Security=True;"))
{
    con.Open();
    SqlCommand cmd = new SqlCommand("Select * from Master.Items", con);
    SqlDataAdapter dat = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    dat.Fill(dt);
    GridView1.DataSource = dt;
    GridView1.DataBind();
}

内容的提问来源于stack exchange,提问作者Rasca Rafael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:03:29