Repeater and Custom HTML Question

A

Arsen V.

Hello,

How to control the structure of the HTML inside of the ItemTemplate of the
Repeater?

For example, if a certain data column value is empty (or contains some
specific string or number), I want to be able to "hide" a part of the HTML
of the ItemTemplate.

Say a customer has phone number and extension. The extension is optional.
When the extension is there, the phone should be displayed in this format:
123-555-6789 Ext: 123

If there is no extension, the phone should be simply: 123-555-6789.

I have the following ItemTemplate:

<ItemTemplate>
<tr>
<td>Phone:
<%#DataBinder.Eval(Container.DataItem,"phone")%>-x<%#DataBinder.Eval(Contain
er.DataItem,"extension")</td>
</tr>
</ItemTemplate>

However, this will produce an undesirable output if there is no extension:
123-555-6788 Ext:

What is the most appropriate way to avoid this? An example would be great!

I am sure may people have come across this, since it is very common to have
"very dynamic" HTML output that is dependent on the values of the data that
is bound to the Repeater control.

Thanks,
Arsen
 
J

Jos

Arsen said:
Hello,

How to control the structure of the HTML inside of the ItemTemplate
of the Repeater?

For example, if a certain data column value is empty (or contains some
specific string or number), I want to be able to "hide" a part of the
HTML of the ItemTemplate.

Say a customer has phone number and extension. The extension is
optional. When the extension is there, the phone should be displayed
in this format: 123-555-6789 Ext: 123

If there is no extension, the phone should be simply: 123-555-6789.

I have the following ItemTemplate:

<ItemTemplate>
<tr>
<td>Phone:
er.DataItem,"extension")</td>
</tr>
</ItemTemplate>

However, this will produce an undesirable output if there is no
extension: 123-555-6788 Ext:

What is the most appropriate way to avoid this? An example would be
great!

I am sure may people have come across this, since it is very common
to have "very dynamic" HTML output that is dependent on the values of
the data that is bound to the Repeater control.

Thanks,
Arsen

Write a function like this (this is for VB):

Function FormatPhoneExt(phone As Object, ext As Object) As String
If(ext.ToString()<>"")
Return phone.ToString() & " Ext: " & ext.ToString()
Else
Return phone
End If
End Function

Then, change the binding syntax to this:
<%# FormatPhoneExt(DataBinder.Eval(Container.DataItem,"phone"),
DataBinder.Eval(Container.DataItem,"extension") %>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top