我正在准备一个用于系统测试的ASP Web Forms应用程序。我们有两个URL将使用相同的代码,根据URL更改其内容。因此,我在IIS中配置了两个虚拟目录以映射到一个物理路径。假设虚拟目录是TTP/Site1
和TTP/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的相同消息。
我查阅了之前的堆栈溢出问题,并确认默认情况下的 私有的有什么想法吗? 每个请求的ETA: ETA2:btn_login_Click
是受保护的而不是protected void btn_login_Click(object sender, EventArgs e)
{
Response.Redirect("~/login.aspx");
}
<%@ 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" %>