0

我一直在重命名我的 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)

    }

现在,我在寻找解决此问题的方法时在这里尝试的是访问其他部分类部分并从那里删除页面加载方法的定义。我遵循的步骤是:

  • **1-临时重命名错误页面加载方法。
  • 2-在正文中键入默认值并按 F12。现在,在这次尝试之后,我的那个错误消失了,但我的所有控件(如文本框等)似乎都不在当前上下文中。请在这方面帮助我。谢谢。**
4

3 回答 3

0

您应该将“搜索”页面的类重命名为其名称:

public partial class Search : System.Web.UI.Page

声明显然需要更新:

<%@ ... Inherits="Search" %>

否则你有冲突的类型。

于 2013-08-20T14:52:51.803 回答
0

您在 search.aspx 中的部分类定义应更改为 public partial class _Search : System.Web.UI.Page

它给了你这个错误,因为该方法同时在两个不同的页面中定义

于 2013-08-20T14:53:29.487 回答
0

如果您查看两个页面后面的代码,它们实际上是使用partial关键字“扩展”_Default类,并且它们定义了Page_Load两次方法。

在后面的 search.aspx 代码中,您应该声明search该类:

public partial class search: System.Web.UI.Page
{
     protected void Page_Load(object sender, EventArgs e) {...}
}
于 2013-08-20T15:00:00.467 回答