我在我的asp.net 3.5应用程序中有一个主页面,其中包含一些控件和jquery内容。我试图在代码后台访问这些控件,但是出现以下错误:
The name 'DrpStates' does not exist in the current context
为什么在代码后端无法访问?
我在我的asp.net 3.5应用程序中有一个主页面,其中包含一些控件和jquery内容。我试图在代码后台访问这些控件,但是出现以下错误:
The name 'DrpStates' does not exist in the current context
这可能是母版页或父页面的一部分,尝试使用FindControl
方法:
this.Page.FindControl("DrpStates");
.aspx
文件中,而出错的代码在 .aspx.cs
文件中吗? - Shadow The Spring Wizard原因:- 当我们创建一个代码后置文件时,ASP.NET也会自动生成一个设计师文件。在那个设计师文件中,所有的控件都被初始化和加载。有时候当我们创建一个新的控件时,它无法重新初始化设计师文件,这样你就无法在代码后置文件中访问该控件。
针对这种情况,有一个简单的解决方案。
步骤1:打开yourfile.aspx.designer.cs文件
步骤2:只需为每个缺失的组件重复复制并粘贴以下行:"global::System.Web.UI.WebControls."+你缺失的组件的类名+空格+缺失组件的ID。
步骤3:保存文件,神奇地消除所有组件错误。
你的 .designer.cs 文件可能存在问题。请检查是否有与你的 aspx(或 ascx)文件同名的设计文件。
如果你打开 aspx 文件并在设计视图和 HTML 视图之间切换,它会提示 VS 检查控件并将任何缺失的控件添加到设计文件中。
尝试右键单击 aspx 并选择“转换为 Web 应用程序”。
你也可以尝试删除 .designer.cs 文件,然后重新创建一个同名的空文件。