Search code examples
asp.netdata-bindingsyntaxbinding

How do you concatenate text when using Bind expression in asp.net


What is the syntax to concatenate text into a binding expression for an asp.net webpage (aspx).

For example if I had a hyperlink that was being bound like this:

<asp:HyperLink id="lnkID" NavigateUrl='<%# Bind("Link") %>' Target="_blank" 
                        Text="View" runat="server"/>

How do you change, say, the Text to concatenate a bound value with a string? Variations like this aren't quite right.

Text='<%# Bind("ID") + " View" %>'

neither does

Text='<%# String.Concat(Bind("ID"), " View") %>'

Solution

  • You can also place the "concatenation" in the text portion of a tag if using a template field:

    <asp:TemplateField HeaderText="Name" SortExpression="sortName">
    <ItemTemplate>
       <asp:LinkButton ID="lbName" runat="server" OnClick="lbName_Click" CommandArgument='<%# Eval("ID") %>'>
             <%--Enter any text / eval bindind you want between the tags--%>
             <%# Eval("Name") %> (<%# Eval("ID") %>)
       </asp:LinkButton>
    </ItemTemplate>
    

    This results in output like:

    Name (ID)

    inside of the template column.