【问题标题】:GridView:'Object' does not contain a definition forGridView:'Object' 不包含对
【发布时间】:2016-10-07 13:44:33
【问题描述】:

我的 c# webform 有 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“对象”不包含“数据源”的定义,并且找不到接受“对象”类型的第一个参数的扩展方法“数据源”(您是否缺少 using 指令或程序集引用?)
2.:与'DataBind'相同的消息

【问题讨论】:

  • 您已将GridView1 定义为object 类型,而object 没有这些方法/属性。也许您应该将其定义为 GridView 或尝试进行演员表。

标签: c# webforms visual-studio-2015


【解决方案1】:

问题是您已将 GridView 声明为

public object GridView1 { get; private set; }

它是一个GridView,所以不要将它声明为对象,否则你不能使用GridView的属性或方法,而只能使用System.Object,或者你必须将它转换为GridView .

由于这是一个 aspx 文件的代码隐藏文件您根本不需要声明它。它将在具有相同名称并以.designer.cs 结尾的部分类中自动生成。

【讨论】:

    【解决方案2】:

    在这条线上:public object GridView1 { get; private set; }。它不应该被声明为 GridView 而不仅仅是对象吗?在此处查看示例用法:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.gridview(v=vs.110).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-09
      • 2018-03-30
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多