Question

I'm using a repeater to display data records on my page. It used to be that I'd use tables inside it and I never had a problem, but now I'm using divs and I keep getting build errors saying the server tag is not well formed...

Can anyone see anything wrong with this?

<asp:Repeater runat="server" ID="rptGuestbook" 
    onitemdatabound="rptGuestbook_ItemDataBound">
    <ItemTemplate>
        <div runat="server" id="divPost" class="post">
            <div runat="server" id="divAuthor" class="author">
                <ul>
                    <li><asp:HyperLink runat="server" ID="lnkEmail" ImageUrl="~/Images/emailicon.png" NavigateUrl="mailto: <%# Eval("emailaddress") %>"></asp:HyperLink></li>
                    <li><asp:HyperLink runat="server" ID="lnkWeb" ImageUrl="~/Images/webicon.png" NavigateUrl="<%# Eval("webaddress") %>"></asp:HyperLink></li>
                    <li>Posted By: <%# Eval("author") %></li>
                </ul>               
                <div runat="server" id="divAdmin" class="delete-button" visible="false">
                    <asp:Button runat="server" ID="btnDeletePost" Text="Delete Post" OnClick="btnDeletePost_Click" />
                </div>
            </div>
            <div runat="server" id="divMessage" class="post-message"><%# Eval("message") %></div>
        </div>
    </ItemTemplate>
</asp:Repeater>
Was it helpful?

Solution

Try using single quotes...

<li><asp:HyperLink runat="server" 
     ID="lnkEmail" 
     ImageUrl="~/Images/emailicon.png" 
     NavigateUrl='mailto: <%# Eval("emailaddress") %>'></asp:HyperLink></li>

<li><asp:HyperLink runat="server" 
     ID="lnkWeb" 
     ImageUrl="~/Images/webicon.png" 
     NavigateUrl='<%# Eval("webaddress") %>'></asp:HyperLink></li>

OTHER TIPS

Change

<li><asp:HyperLink runat="server" ID="lnkEmail" 
ImageUrl="~/Images/emailicon.png" 
NavigateUrl="mailto: <%# Eval("emailaddress") %>">
</asp:HyperLink></li>

to

<li><asp:HyperLink runat="server" ID="lnkEmail" 
ImageUrl="~/Images/emailicon.png" 
NavigateUrl='<%# Eval("emailaddress", "mailto: {0}") %>'>
</asp:HyperLink></li>

Instead of

 <div runat="server" id="divMessage" class="post-message"><%# Eval("message") %></div>

Try using lable like this

<asp:Label runat="server" Text="<%# Eval("message") %>" ID="lstMessage" CssClass="post-message"></asp:Label>     

As you have used Div with runat="server" tag.

Thank you

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top