Olá Marcos,
Está falando que o linkButton não existe porque ele está dentre de um Repeater.
Você pode fazer dessa forma:
1-) Armazenar o "at_comida" no value de um controle HiddenField ao invés de um CommandArgument, desta forma:
<asp:Repeater ID="ListaComidas" runat="server" >
<ItemTemplate>
<li><asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">
<%#Eval("at_comida") %>
</asp:LinkButton>
<asp:HiddenField value='<%#Eval("at_comida") %>' ID="hiddenAtComida" />
</li>
</ItemTemplate>
</asp:Repeater>
E no evento ItemCommand do Repeater, pegar o valor desta forma:
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
HiddenField meuHidden = (HiddenField)e.Item.FindControl("hiddenAatComida");
Session["MINHA_SESSION"] = meuHidden.Value;
}
Lembrando que precisa existir uma referência no seu Repeater ao método referente ao evento.
<asp:repeater ID="Repeater1" runat="server" onitemcommand="Repeater1_ItemCommand"></asp:repeater>
Pode não ser a forma mais elegante talvez, mas funciona :)
Abs
Alexandre Felipe Malavasi Cardoso