Search code examples
asp.neteval

Eval script for server side control's ID property?


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?


Solution

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