ASP.NET is not calling C# code

Total Post:28

Points:196
C# 
 1105  View(s)
Ratings:
Rate this:

For some reason this following ASP code is not calling the c# method "checkLastNames" that is suppose to be evaluated in the 'Visible=' field below. 

<asp:Button ID="btnZ" 
            runat="server"
            Text="Z"
            Height="20px"
            Width="25px"
            Font-Size="12px"
            CommandArgument="Z"
            OnClick="btnA_Click"
            Visible='<%# checkLastNames("Z") %>' />

When I enter debug mode the method isn't even being called. Visible just defaults to true. I've tried changing the method to return only false just to see if it would work but "Visible" is still defaulting to true. 

protected bool checkLastNames(string s){
    return false;
}

  1. Post:145

    Points:1019
    Re: ASP.NET is not calling C# code

    <%# is for databinding expressions, so this works only if the namingcontainer control of this Button is databound. 

    For example in Page_Load: 

    this.DataBind();

    But why not using codebehind in the first place? 

    btnZ.Visible = checkLastNames("Z");

      Modified On Apr-07-2018 04:26:55 AM
  1. Post:89

    Points:629
    Re: ASP.NET is not calling C# code

    Try like this 

    <asp:Button ID="btnZ" runat="server" Text="Z" 
                Height="20px"
                Width="25px"
                Font-Size="12px"
                CommandArgument="Z"
                OnClick="btnA_Click"
                Visible='<%= checkLastNames("Z") %>' />

      Modified On Apr-07-2018 04:25:59 AM

Answer