Accessing controls in Master page from content page

14,549

Solution 1

I noticed that you are actually accessing the .value field of the element that the <asp:Label /> control generates, which is a <span></span>. This type of element won't return anything for the .value attribute. If you are actually trying to access its text then use:

alert(document.getElementById('<%=((Label)Master.FindControl("lbl")).ClientID %>').innerText);

or

alert(document.getElementById('<%=((Label)Master.FindControl("lbl")).ClientID %>').innerHTML);

Solution 2

The problem is that a master page is a naming container, hence the client id of the control receives a prefix which is the id of the naming container. Using JavaScript, it is easily solvable:

var elm = document.querySelector('[id$="lbl"]');

$= means, ends with.

Share:
14,549
user3411907
Author by

user3411907

Updated on June 15, 2022

Comments

  • user3411907
    user3411907 almost 2 years

    I am trying to access control in Master page from Content page(Asp.net) using javascript like this

    alert(document.getElementById('<%=((Label)Master.FindControl("lbl")).ClientID %>').value);
    

    control in Master page is as follow,

     <asp:Label ID="lbl" runat="server" Text="one"></asp:Label>
    

    But unfortunately it is not working. I am getting undefined value