我正在使用ASP Web Forms应用程序进行系统测试。我们有两个URL将使用相同的代码,根据URL更改其内容。所以我在IIS中配置了两个虚拟目录以映射到一个物理路径。假设虚拟目录为TTP/Site1
和TTP/Site2
,它们都映射到TTP/SiteCommon
。
但是,Default.aspx
页面引发了CS1061编译错误:
CS1061:'ASP.ttp_site1_default_aspx'不包含'btn_login_Click'的定义,并且没有可以找到接受类型'ASP.ttp_site1_default_aspx'的第一个参数的扩展方法'btn_login_Click'(你是否缺少using指令或程序集)引用?)
错误在这一行:
<asp:Button ID="btn_login" runat="server" Text="Log in" OnClick="btn_login_Click" />
我收到TTP / Site2的相同消息,并在同一行。
我查看了Stack Overflow之前的问题,并确认默认中的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" %>
答案 0 :(得分:0)
确保您的类名为Default1,并且它位于RIF名称空间中。
此外,如果您使用的是Web站点而不是Web应用程序项目,请将CodeBehind更改为CodeFile。 See MSDN.
<%@ Page Title="" Language="C#" MasterPageFile="~/main.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="RIF.Default1" %>