Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't access control ID in code behind

I have the following code in my aspx page:

 <asp:Button runat="server" ID="myButton" Text="hello" />

and this in my code behind:

protected void Page_Load(object sender, EventArgs e)
{ 
    myButton.Text = "bye"; 
}

For some reason the intellisense picks up the "myButton" id in the code behind but when it compiles it says

it can't build because it doesn't recognise it!

My page is a default aspx page which uses a master page, the button is inside a content control and all is set to run at server correctly, the page runs and displays fine except for this button resolution issue!

Any ideas?


2 Answers

Sounds like your designer file (PageName.designer.cs) has got a bit messed up. I'd try deleting the button from your page and adding it again.

like image 74
Matthew Dresser Avatar answered Sep 13 '25 03:09

Matthew Dresser


If the button is inside a naming container like a repeater you won't be able to use it like that. Instead, you need to do something like this:

Button myButton = (Button)Container.FindControl("myButton");
myButton.Text = "bye";
like image 43
Joel Coehoorn Avatar answered Sep 13 '25 01:09

Joel Coehoorn