簡體   English   中英

在Visual Web Developer 2010 Express中運行“正常工作”的Web應用程序時出錯

[英]error running “working” web application in Visual Web Developer 2010 Express

我正在獲得在Visual Studio 2008上開發的舊.NET Web應用程序的支持。但是我使用的是Visual Web Developer 2010 Express。 我已經將項目代碼直接從最后一個工作版本加載為Web應用程序。 Everything編譯並加載設置以定位.NET Framework 3.5版。

但是,在調試時,請求的第一個頁面會在消息中出現“編譯錯誤”

“* CS1061:'ASP.site_master'不包含'LinkBut​​ton2_Click'的定義,並且沒有擴展方法'LinkBut​​ton2_Click'接受類型為'ASP.site_master'的第一個參數'(您是否缺少using指令或程序集引用) ?)*”。

以下是相關的代碼詳細信息:

來自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之間的版本問題。

在您的主聲明中添加一個Inherits =“Site”屬性。 這可以允許它與代碼隱藏文件正確連接。

Site.Master.aspx:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM