Dia*_*Gea 4 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>
Run Code Online (Sandbox Code Playgroud)
在 .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();
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误 CS0120 An object reference is required for the non-static field, method, or property 'BaseDataBoundControl.DataSource'
.cs 似乎无法识别 .aspx 页面中的 GridView。使用 .net 4.6.1
不要将您的 GridView 称为“GridView”。该框架不知道您是在谈论 GridView 的实例还是在谈论GridView类。讨论起来很混乱,对编译器来说也很混乱。将 ID 更改为与预先存在的类型名称不冲突的其他内容,并适当地更新您的代码。您通常以它包含的内容命名它,例如CustomersGridView.
标记
<asp:GridView ID="CustomersGridView" runat="server">
Run Code Online (Sandbox Code Playgroud)
背后的代码
CustomersGridView.DataSource = dt;
CustomersGridView.DataBind();
Run Code Online (Sandbox Code Playgroud)