2008-12-11 24 views
15

¿Cuál es la sintaxis para concatenar texto en una expresión vinculante para una página web asp.net (aspx).Cómo concatenar texto al usar la expresión Bind en asp.net

Por ejemplo si yo tuviera un hipervínculo que se estaba obligado como esto:

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

¿Cómo se cambia, por ejemplo, el texto de concatenar un valor límite con una cuerda? Variaciones como esta no son del todo correctas.

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

tampoco lo hace

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

Respuesta

8

También puede colocar la "concatenación" en la parte de texto de una etiqueta si se utiliza un campo de la plantilla:

<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> 

Esto se traduce en una salida como:

Nombre (ID)

dentro de la columna de la plantilla.

3

he utilizado String.Format("{0}{1}" ... antes con buenos resultados.

34

Utilice Eval en su lugar.

Text='<%# Eval("ID", "{0} View") %>' 

Eval también es mejor si el valor no va a actualizarse, donde Bind permite el enlace de datos bidireccional.

+2

Para esta pregunta, Eval es correcta ya que no tiene sentido hacer un enlace de datos bidireccional en la propiedad NavigateUrl –

Cuestiones relacionadas