Asp – Eval script for server side control’s ID property

asp.neteval

Using the following Eval script for setting ID property causes error.
Error message: the server tag is not well formed.

 <asp:Panel runat="server" ID="<%# Eval("RENTER_ID") %>" Visible="false">

Even replacing "" with '' of ID property generates error.
While using '', its error message

"The ID property of a control can only be set using the ID attribute in the tag and a simple value. Example: <asp:Button runat="server" id="Button1" />"

Any ideas to solve this?

Best Answer

You can't do it.

Why do you need to? If it's so you can reference it at some point, you can access the client-side id via the property ClientID.

Example, as requested:

<asp:Repeater runat="server" ID="repFoo">
    <ItemTemplate>
        <asp:Panel runat="server" ID="pnlFoo">
            <input type = "button"
                onclick = "alert('<%# Container.FindControl("pnlFoo").ClientID %>');"
                value   = "click to get id for <%# Container.ItemIndex %>" />
        </asp:Panel>
    </ItemTemplate>
</asp:Repeater>
Related Topic