ASP.NET控件在CodeBehind中不可用

时间:2012-04-09 22:56:21

标签: c# asp.net webforms code-behind

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

决议是什么?

<%@ Page language="c#" CodeBehind="ABC.aspx.cs" AutoEventWireup="false" %> 

 <asp:Label ID="Label2" runat="server" Font-Bold="True"></asp:Label>

5 个答案:

答案 0 :(得分:9)

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

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

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

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

答案 4 :(得分:0)

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