A propriedade Command.Argument do ASP.Net LinkButton ignora <% = ..%>
Eu estou tentando fazer o que eu pensei que era uma operação muito simples para definir uma propriedade em um controle Link.button do ASP.Net, mas por algum motivo o ASP.Net está ignorando as tags e apenas passando o valor como uma string.
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument="<%= item.ItemID %>" />
Quando o link é clicado, eu o trato com:
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;
}
}
O problema é itemID acaba com um valor de "<% = item.ItemID%>".
Vi outras pessoas encontrarem o mesmo problema e tentarem coisas como as abaixo, mas nenhuma funcionou para mim até agora.
<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 %>" />