c# - 在 Visual Web Developer 2010 Express 中运行 "working"Web 应用程序时出错

标签 c# asp.net .net visual-studio-2010

我正在获取在 Visual Studio 2008 上开发的旧 .NET Web 应用程序的支持。但是我使用的是 Visual Web Developer 2010 Express。我直接从最后一个工作版本加载了项目代码作为 Web 应用程序。 Everything 编译并加载设置以面向 .NET Framework 3.5 版。

但是在调试时,请求的第一个页面导致“编译错误”消息

"*CS1061: 'ASP.site_master' does not contain a definition for 'LinkButton2_Click' and no extension method 'LinkButton2_Click' accepting a first argument of type 'ASP.site_master' could be found (are you missing a using directive or an assembly reference?)*".

这里是相关的代码细节:

来自 Site.Master:

  <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.Master.cs"  %>
   ...
   <asp:LoginView ID="LoginView1" runat="server" >
   <AnonymousTemplate>
      <asp:LinkButton ID="LinkButton2" runat="server" Click="LinkButton2_Click"> Login
      </asp:LinkButton>
   </AnonymousTemplate>

来自 Site.Master.cs:

 public partial class Site : BaseMasterPage  // BaseMasterPage is subclass of System.Web.UI.MasterPage
 ...
 public void LinkButton2_Click(object sender, EventArgs e)
    {
        Response.Redirect("/Login.aspx?ReturnURL="+ Request.Url.AbsolutePath);
    }

很明显,代码已定义,没有明显的拼写错误。

我主要是一名 Java 开发人员,但在 .NET 方面有一定的经验。然而,这个问题让我感到难过,所以我需要一些帮助来解决这个问题。我通过谷歌对其进行了广泛的研究,此类问题已被报告多次,包括在 Stack Overflow 上。但是,以前报告中给出的决议都没有帮助我解决这个问题。这非常令人费解,因为代码显然可以正常运行,因为它目前正在生产中运行。看来是 Visual Studio 2008 和 Visual Web Developer 2010 Express 之间的版本问题。

最佳答案

在您的 Master 声明中添加一个 Inherits="Site"属性。这可能允许它与代码隐藏文件正确连接。

网站.Master.aspx:

<%@ Master Language="C#" Inherits="<full namespace>.Site" CodeBehind="Site.Master.cs" AutoEventWireup="true" %>

必须在 Site.Master.cs 中的位置

关于c# - 在 Visual Web Developer 2010 Express 中运行 "working"Web 应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21741025/

相关文章:

c# - 将具体类型转换为泛型类型?

c# - MonoTouch native 崩溃调用 CGPDFDictionary.GetArray

javascript - 在服务器端将样式表和 javascript 文件合并为 1

c# - 如何直接在 .aspx 中获取 AspNet Identity 用户 ID?

c# - 如何在客户端(使用 javascript)和服务器端(使用 c#)验证 mac 地址和 ip 地址

c# - OpenRasta - 资源 uri 不正确时返回不正确的状态代码

c# - 在服务器问题上使用反斜杠保存路径名称

c# - 在 C# 中用正则表达式替换 "new line"字符

c# - 如何编辑所有特殊 html 标签的属性(如 a)

c# - 将 .NET 泛型列表转换为 F# 列表