【问题标题】:C# Web app "The name 'CheckBox2' does not exist in the current context"C# Web 应用程序“当前上下文中不存在名称‘CheckBox2’”
【发布时间】:2018-05-22 03:54:22
【问题描述】:

所以我正在向 HTML 页面添加复选框。但是,当我尝试引用我的 CheckBox2 时,我得到了错误。 这是我的html中的复选框。默认.aspx:

<asp:CheckBox ID="CheckBox1" runat="server" Text="Yes" OnCheckedChanged="CheckBox1_CheckChanged" />

目前这没有问题,但是在我的“C#” Default.aspx.cs 中抛出了错误:

protected void CheckBox1_CheckChanged(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
        CheckBox2.Checked = false;
        CheckBox3.Checked = false;
        CheckBox4.Checked = false;
        CheckBox5.Checked = false;

    }

显然复选框在当前上下文中不存在,而且,双击它们并没有创建事件处理程序,我必须自己这样做。我查看了许多其他类似的问题,答案对其他人有所帮助,但仍然没有一个人为我解决了这个问题

【问题讨论】:

  • 您是否将 Checkbox2、Checkbox3 等添加到带有 runat="server" 的 Html 页面中,如果没有,那就是您的问题。另外,如果您的 Checkbox2 是您的示例中的一个,那么您的 ID 是 Checkbox1,这是一个错字
  • 所有复选框都使用 runat="server",另外,我发布的 html 中的 CheckBox1 示例是解释 CheckBox2 问题的错误示例,请注释正确的代码
  • 另外,这只是这个特定项目的一个问题。就像,如果我开始一个新项目,我在这里的相同代码可以工作。所以我真的很困惑
  • 您是否在 Designer.cs 文件中检查了新控件?

标签: c# html web


【解决方案1】:

由于我不允许发表评论,因此我暂时将其发布为答案。请随时更正此问题。

您应该检查 *.ascx 文件的顶部并确保它引用了正确的代码文件。例如,在我正在处理的文件的顶部,我在文件顶部有一行写着:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="~/Default.aspx.cs" Inherits="Default.MethodWithCheckBox2CodeInIt" %>

在这种情况下,Upload.ascs.cs 是包含我的控件的代码文件。确保该行中的“CodeFile”属性完全正确。

编辑:再次,我宁愿在 cmets 部分询问 OP,因为我们需要查看更多他们的代码来了解这是否是问题所在。由于我在这里没有 50 声望,因此我将其发布为答案。

【讨论】:

  • 我的项目使用的是 .asPx 文件,而不是 ascx 文件。至于那行代码,我以前见过这种方法作为答案,老实说我什至没有那行代码,但是每次我尝试使用这种方法时,我都会遇到同样的错误。我又试了一次,同样的错误。这是我添加到我的 html 顶部的代码行: -----%@ Control Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>- ---- 您还希望看到什么可以更轻松地回答我的问题?
  • 在我的情况下,我必须指定代码文件的完整路径,单独使用名称会给我你提到的相同错误。让我看看我的一些 ASPX 示例,一秒钟
  • 试着把它写成这样 "CodeFile="~/Default.aspx.cs"
  • 实际上整行应该在 aspx 文件中如下所示:Page Language="C#" MasterPageFile="~/Admin.master" AutoEventWireup="true" CodeBehind="~/Default.aspx。 cs" Inherits="默认"
  • 我明白你的意思,但令人困惑的是这段代码在另一个项目中运行良好,就像我正在编辑的网页与我所做的调整不兼容
猜你喜欢
  • 2012-05-03
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-30
  • 1970-01-01
相关资源
最近更新 更多