La propiedad ASP.Net LinkButton CommandArgument ignora <% = ..%>
Estoy tratando de hacer lo que pensé que era una operación muy simple para establecer una propiedad en un control ASP.Net LinkButton, pero por alguna razón ASP.Net ignora las etiquetas y simplemente pasa el valor como una cadena.
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument="<%= item.ItemID %>" />
Cuando se hace clic en el enlace, lo manejo con:
protected void btnDetails_Click(object sender, EventArgs e)
{
try
{
LinkButton btn = (LinkButton)sender;
if (btn.CommandName == "ItemID")
{
string itemID = btn.CommandArgument.ToString();
}
}
catch (Exception excp)
{
lblError.ForeColor = System.Drawing.Color.Red;
lblError.Text = excp.Message;
}
}
El problema es que itemID termina con un valor de "<% = item.ItemID%>".
He visto a otras personas encontrar el mismo problema e intentar cosas como las siguientes, pero ninguna me ha funcionado hasta ahora.
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument=<%= item.ItemID %> />
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument="<%# item.ItemID %>" />