C# 我的ASP.NET项目中没有Default.aspx.designer.cs文件

C# 我的ASP.NET项目中没有Default.aspx.designer.cs文件,c#,asp.net,class,gridview,C#,Asp.net,Class,Gridview,我当前的网站没有任何designer.cs文件。(是,它不是Web应用程序) 该网站已完成,但现在我为我的网站添加了2个类别,一切都很好,但当我想使用我的GridView时,它告诉我: 这是因为我用与我的类相同的名称空间包装了代码,如下所示 namespace samrasWebPortalSQL { public partial class GridView : System.Web.UI.Page { protected void Page_Load(obj

我当前的网站没有任何designer.cs文件。(是,它不是Web应用程序)

该网站已完成,但现在我为我的网站添加了2个类别,一切都很好,但当我想使用我的GridView时,它告诉我:

这是因为我用与我的类相同的名称空间包装了代码,如下所示

  namespace samrasWebPortalSQL
  {
     public partial class GridView : System.Web.UI.Page
   {
    protected void Page_Load(object sender, EventArgs e)
    {
        Functions.RemoveCaching(this);
        LoadGrid();

    }

    private void LoadGrid()
    {
        DataSet dataSet = SQLHelper.GetDataSet("select * from company");
        Functions.BindGridView(GridView1, dataSet);
    }

   }
}
我知道我需要以下代码在我的.designer.cs文件中,但因为我没有,我不能把它放在任何地方吗

protected global::System.Web.UI.WebControls.GridView GridView1;
在“网站”中,您可以添加新的ASPX页面(web表单)。在该web表单中,您可以将GridView拖到该页面上。一旦你给了它这样一个ID:

<div>
<asp:gridview ID="Grid1" runat="server"></asp:gridview>
</div>
protected void Page_Load(object sender, EventArgs e)
{
    Grid1.DataSource =..;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="samrasWebPortalSQL.GridView" %>
如果您将代码放在不同的类名或命名空间中,那么您需要告诉web表单在哪里可以找到它。您可以通过如下方式更改page指令的Inherits属性来完成此操作:

<div>
<asp:gridview ID="Grid1" runat="server"></asp:gridview>
</div>
protected void Page_Load(object sender, EventArgs e)
{
    Grid1.DataSource =..;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="samrasWebPortalSQL.GridView" %>


听起来像是你创建了一个“网站”,而不是一个“Web应用程序”。问题是我如何/如何在一个普通的网站中引用一个类?明白了-你需要告诉你的Web表单使用什么文件作为代码。由于您已经更改了名称空间,因此需要更改页面指令的Inherits属性:酷,谢谢!请将此设置为答案,我会将其标记为正确!很高兴帮助:)更新了我的答案