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 %>" />

questionAnswers(3)

yourAnswerToTheQuestion