ASP.NET Control not available in CodeBehind

自作多情 提交于 2019-12-23 08:01:56

问题


I drag and drop a Label control on my ABC.ASPX page.It Compiles correctly. But the control (Label2) is not available in code-behind ABC.ASPX.cs for value assignment.

What is the resolution?

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

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

回答1:


You are probably missing an entry for this in your designer.cs file. You can either add something like this to the file:

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

Or delete the designer.cs file, right click the parent aspx file and choose "Convert to Web Application". This should recreate the designer.cs file with all the appropriate entries.




回答2:


You might need to add Inherits="XXX.ABC" in your Page Directive, where XXX is your root namespace. Also, I'm assuming that you named your class ABC to coincide with ABC.aspx.cs.




回答3:


Try to remove the control, save the file, add the control again, and again save the file. Problem is probably in your *.designer.cs file, this approach should regenerate it.




回答4:


After creating a user component I wanted to test it in a CalendarTest page. I too could not access the user component through the Code Behind. I did not find a solution on-line, but through trial and error I fixed it with the following steps:

1) in the aspx file, <%@Page... needed "CodeFile=" instead of "Src=" to point to the code behind file

2) in the Code behind aspx.cs file, I needed to replace "public class CalendarTest" with "public partial class CalendarTest"




回答5:


Right Click on the project then select convert to web Application



来源:https://stackoverflow.com/questions/10080906/asp-net-control-not-available-in-codebehind

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!