C#.net GridView .数据源

标签 c# asp.net gridview

在 .aspx 中我有

<body>
  <form id="form2" runat="server">
 <asp:GridView ID="GridView" runat="server" AutoGenerateColumns="True" Width="100%" ViewStateMode="Enabled">
 <Columns>
    <asp:BoundField ItemStyle-Width="150px" DataField="id" HeaderText="iD" />
    <asp:BoundField ItemStyle-Width="150px" DataField="nme" HeaderText="Name" />
    </Columns>
</asp:GridView>
   </form>
</body>

在 .cs 中我有

private void Grid()
{
    string constr = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT id, nme FROM mytable"))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (dt = new DataTable())
                {
                    sda.Fill(dt);
                    GridView.DataSource = dt; //error occurs here
                    GridView.DataBind();
                }
            }
        }
    }
}

我收到错误 CS0120 非静态字段、方法或属性“BaseDataBoundControl.DataSource”需要对象引用

.cs 似乎无法识别 .aspx 页面中的 GridView。 使用.net 4.6.1

最佳答案

不要将您的 GridView 称为“GridView”。框架不知道你是在谈论你的 GridView 实例还是在谈论类 GridView .讨论起来很困惑,编译器也很困惑。将 ID 更改为与预先存在的类型名称不冲突的其他内容,并适本地更新您的代码。您通常根据它包含的内容来命名它,例如 CustomersGridView

标记

<asp:GridView ID="CustomersGridView" runat="server">

代码隐藏

CustomersGridView.DataSource = dt;
CustomersGridView.DataBind();

关于C#.net GridView .数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40385631/

相关文章:

c# - 多次按下按钮调用方法

c# - 删除数字签名证书(.PFX 文件)

asp.net - 使用 Entity Framework 进行部署后数据库更改的最佳实践

c# - 使用 Linq 对 Gridview 进行分页

android - 在 ImageView 的图像上设置背景

ASP.NET GridView 项目模板

c# - Visa 或 Mastercard 的测试数据

c# - SignalR 中心和 Identity.Claims

asp.net - 当用户单击按钮时显示 DevExpress AspxPopUpControl

jquery - 使用Jquery表单插件asp.net mvc 3