虚拟目录中的Default.aspx引发CS1061错误



我正在准备一个用于系统测试的ASP Web Forms应用程序。我们有两个URL将使用相同的代码,根据URL更改其内容。因此,我在IIS中配置了两个虚拟目录以映射到一个物理路径。假设虚拟目录是TTP/Site1TTP/Site2,它们都映射到TTP/SiteCommon

然而,Default.aspx页面引发CS1061编译错误:

CS1061:"ASPttp_site1_default_aspx"不包含"btn_login_Click"的定义,并且找不到接受类型为"ASPttp_site1_default_aspx"的第一个参数的扩展方法"btn_login_Click"(是否缺少using指令或程序集引用?)

错误在这一行:

<asp:Button ID="btn_login" runat="server" Text="Log in" OnClick="btn_login_Click" />

我在同一行收到了TTP/Site2的相同消息。

我查阅了之前的堆栈溢出问题,并确认默认情况下的btn_login_Click是受保护的而不是

私有的有什么想法吗?

每个请求的ETA:

protected void btn_login_Click(object sender, EventArgs e)
{
Response.Redirect("~/login.aspx");
}

ETA2:

<%@ Page Title="" Language="C#" MasterPageFile="~/main.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RIF.Default1" %>

确保您的类名为Default1,并且位于RIF命名空间中。

此外,如果您使用的是网站而不是Web应用程序项目,请将CodeBehind更改为CodeFile。请参阅MSDN。

<%@ Page Title="" Language="C#" MasterPageFile="~/main.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="RIF.Default1" %>

最新更新