C# 不能';t荷载类型';HomePage.aspx.cs';

C# 不能';t荷载类型';HomePage.aspx.cs';,c#,asp.net,C#,Asp.net,我正在实现一个小型网站,它将从用户那里获取输入并与c#中的数据库交互,但问题是隐藏的代码(在.aspx.cs文件中的代码)不会读取.aspx文件中的任何元素,尽管我在.aspx文件的指令中将inherit属性指定为.aspx.cs文件 这是HomePage.aspx文件 我发现错误,无法加载“HomePage.aspx.cs”类型,因此如何处理此类事件?对于inherits属性,您只需要类名,而不需要完整的文件名 <%@ Page Language="C#" AutoEventWireup

我正在实现一个小型网站,它将从用户那里获取输入并与c#中的数据库交互,但问题是隐藏的代码(在.aspx.cs文件中的代码)不会读取.aspx文件中的任何元素,尽管我在.aspx文件的指令中将inherit属性指定为.aspx.cs文件

这是HomePage.aspx文件
我发现错误,无法加载“HomePage.aspx.cs”类型,因此如何处理此类事件?

对于inherits属性,您只需要类名,而不需要完整的文件名

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HomePage.aspx.cs" Inherits="HomePage" %>

继承的
属性不应包含文件扩展名。以下是关于Inherits属性的说明:

继承

定义页要继承的代码隐藏类。这可以是任何 从Page类派生的类。此属性与 CodeFile属性,其中包含源文件的路径 代码隐藏类。使用时,Inherits属性区分大小写 C#作为页面语言,使用Visual Basic时不区分大小写 作为页面语言


因此,
codebeahind
(或网站项目的
CodeFile
)属性应具有文件路径,而Inherits属性仅包含类名。尝试将
Inherits=“HomePage.aspx.cs”
替换为
Inherits=“HomePage”
,包括名称空间(如果适用)。

@user3423255尝试清理并重新生成解决方案。清理并重新生成。也删除Obj文件夹中的内容。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;


    public partial class HomePage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void login(object sender, EventArgs e)
        {
            string connStr = ConfigurationManager.ConnectionStrings["MyDbConn"].ToString();
            SqlConnection conn = new SqlConnection(connStr);

            SqlCommand cmd = new SqlCommand("loginProcedure", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            string username = txt_username.Text;
            string password = txt_password.Text;
            cmd.Parameters.Add(new SqlParameter("@username", username));

            SqlParameter name = cmd.Parameters.Add("@password", SqlDbType.VarChar, 50);
            name.Value = password;

            // output parm
            SqlParameter count = cmd.Parameters.Add("@count", SqlDbType.Int);
            count.Direction = ParameterDirection.Output;

            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();

            if (count.Value.ToString().Equals("1"))
            {

                Response.Write("Passed");

            }
            else
            {
                Response.Write("Failed");
            }
        }
    }
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HomePage.aspx.cs" Inherits="HomePage" %>