ASP.NET Control在CodeBehind中不可用

我在我的ABC.ASPX页面上拖放一个Label控件。它正确编译。 但是代码隐藏ABC.ASPX.cs中的控件( Label2 )不可用于值赋值。

分辨率是多少?

   

您可能在designer.cs文件中缺少此条目。 您可以在文件中添加以下内容:

 protected global::System.Web.UI.WebControls.Label Label2; 

或者删除designer.cs文件,右键单击父aspx文件并选择“转换为Web应用程序”。 这应该重新创建包含所有适当条目的designer.cs文件。

您可能需要在页面指令中添加Inherits="XXX.ABC" ,其中XXX是您的根命名空间。 另外,我假设您将ABC类命名为与ABC.aspx.cs一致。

尝试删除控件,保存文件,再次添加控件,然后再次保存文件。 问题可能在你的* .designer.cs文件中,这种方法应该重新生成它。

创建用户组件后,我想在CalendarTest页面中测试它。 我也无法通过Code Behind访问用户组件。 我没有在线找到解决方案,但通过反复试验,我通过以下步骤修复了它:

1)在aspx文件中,<%@ Page ...需要“CodeFile =”而不是“Src =”来指向文件背后的代码

2)在aspx.cs文件后面的代码中,我需要用“public partial class CalendarTest”替换“public class CalendarTest”

右键单击项目,然后选择转换为Web应用程序