我的c#webform有2条错误消息,我自己无法处理。
Add.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>
Add.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&#39;对象&#39;不包含&#39; DataSource&#39;的定义没有扩展方法&#39; DataSource&#39;接受类型&#39;对象&#39;的第一个参数。可以找到(你错过了使用指令或汇编参考吗?)
2:使用&#39; DataBind&#39;
答案 0 :(得分: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
答案 1 :(得分:2)
问题是您已将GridView
声明为
public object GridView1 { get; private set; }
这是GridView
所以不要将其声明为对象,否则您无法使用GridView
的属性或方法,只能使用System.Object
的属性或方法,或者你必须把它投射到GridView
。
由于这是aspx文件的代码隐藏文件,因此您根本不需要声明它。它将在具有相同名称且以.designer.cs
结尾的分部类中自动生成。