如何解决该名称在当前上下文中不存在
| 我在asp.net 3.5应用程序中有一个母版页,并且有一些控件和jquery东西。我尝试在代码隐藏中访问控件,它说:The name \'DrpStates\' does not exist in the current context
为什么在代码隐藏中无法访问它?
解决方法
当您在文件后面创建代码时,ASP.NET也会自动生成一个设计器文件(位于文件旁边)。在该设计器文件中,所有控件均被初始化并加载。有时(由于未知原因)在创建新控件时,它无法重新初始化设计器文件,并且您无法在文件后置代码中访问该控件。
尝试这样做>
删除设计器文件(右键单击>删除)
右键单击aspx文件>转换为Web应用程序
现在应该工作
,它可能是母版页或父页的一部分,请尝试使用
FindControl
方法:
this.Page.FindControl(\"DrpStates\");
,您的.designer.cs文件可能有问题。检查设计器文件是否与aspx(或ascx)文件同名。
如果打开aspx文件并在设计视图和html视图之间切换,则将提示VS检查控件并将所有缺少的控件添加到设计器文件中。
尝试右键单击aspx并选择\“转换为Web应用程序\”。
您也可以尝试删除.designer.cs文件,然后重新创建一个具有相同名称的空文件。
,原因:-当我们在文件后面创建代码时,ASP.NET也会自动生成设计器文件。在该设计器文件中,所有控件均被初始化并加载。有时,当我们创建一个新控件时,它无法重新初始化设计器文件,并且您无法在文件后面的代码中访问该控件。
对于这种情况有一个简单的解决方案。
步骤1:打开yourfile.aspx.designer.cs文件
您会发现\“受保护的global :: System.Web.UI.WebControls.Label Label2; \”
这些是由您生成的顺序中的初始化组件。
第2步:只需针对每个未缺少的组件重复复制并粘贴以下行
可以通过后面的代码识别:\“ global :: System.Web.UI.WebControls” \“ +您缺少的组件的类+单个空格+缺少的组件的ID。
第三步:保存文件,瞧所有组件错误都神奇地消失了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。