【问题标题】:Asp Controls Does Not exsists in the Current Context当前上下文中不存在 Asp 控件
【发布时间】:2013-08-20 14:49:24
【问题描述】:

我一直在重命名我的 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。现在在这之后 尝试,我的那个错误消失了,但我的所有控件都喜欢 文本框等似乎不在当前上下文中。请帮助 我在这方面。谢谢。**

【问题讨论】:

  • search.aspx.cs 中的类应按约定命名为_Search

标签: c# asp.net


【解决方案1】:

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

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

而且声明显然需要更新:

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

否则你有冲突的类型。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 非特殊单词不需要下划线。
    • 你说得对,我很抱歉我在看定义时打字的习惯力量。
    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2014-12-06
      相关资源
      最近更新 更多