Asp.net

類型“_Default”已經定義了一個名為“Page_Load”的成員,具有相同的參數類型

  • November 27, 2013

我一直在重命名我的 aspx 項目中的一些類和包,現在我有這個錯誤:

“類型‘_Default’已經定義了一個名為‘Page_Load’的成員,具有相同的參數類型”

我有兩個 aspx 頁面。在 default.aspx 程式碼隱藏中,我看到:

預設.aspx:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="_Default" %>

預設.aspx.cs:

public partial class _Default : System.Web.UI.Page
   {
       protected void Page_Load(object sender, EventArgs e)
       //error line under 'Page_Load'
   }

搜尋.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="search.aspx.cs" Inherits="_Default" %>

搜尋.aspx.cs:

public partial class _Default : System.Web.UI.Page
   {
       protected void Page_Load(object sender, EventArgs e)

   }

我添加到項目中的每個新 ASPX 頁面都會自動添加到某個命名空間。

我試過改變繼承屬性。但我找不到解決此錯誤並擺脫命名空間的方法。

我正在使用 Visual Studio 2010。

我的項目結構

您添加的每個頁面都會根據您的文件夾結構自動配置為命名空間。我沒有看到足夠的程式碼和結構,但是您確定沒有兩次定義 Page_Load 嗎?至少錯誤消息是這樣說的。即使您使用與 _Default 不同的類名,它的行為是否相同?

修改後:

是的,我們走了。您在 Default.aspx 和 Search.aspx 中定義了相同的類 (_Default) …您應該根據約定重命名您的類。即:在 Default.aspx 中使用“預設”類並在 Search.aspx 中使用“搜尋”類

引用自:https://stackoverflow.com/questions/5510974