我的 C# 网络表单有 2 条错误消息,我自己无法处理。
添加.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Add.aspx.cs" Inherits="keszlet_management.Add" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<p>
<br />
</p>
<p>
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</p>
</asp:Content>
添加.aspx.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using MySql.Data.MySqlClient;
public partial class _Default : System.Web.UI.Page
{
public object GridView1 { get; private set; }
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM items"))
{
using (MySqlDataAdapter sda = new MySqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
}
}
我是 C# 的新手,所以我知道我有几个错误,请关注错误消息:
1.:严重性代码描述项目文件行抑制状态
错误 CS1061“object”不包含“DataSource”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“DataSource”(是否缺少 using 指令或程序集引用?)
2.: 与'DataBind'相同的消息
最佳答案
问题是您已将 GridView
声明为
public object GridView1 { get; private set; }
它是一个 GridView
所以不要将它声明为对象,否则你不能使用 GridView
的属性或方法,只能使用 System .Object
,或者您必须将其转换为 GridView
。
因为这是 aspx 文件的代码隐藏文件您根本不需要声明它。它将在具有相同名称并以 .designer.cs
结尾的分部类中自动生成。
关于c# - GridView :'Object' 不包含定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918781/