ASP.Net LinkButton コントロールにプロパティを設定するための非常に単純な操作だと思ったことを実行しようとしていますが、何らかの理由で ASP.Net はタグを無視し、値を文字列として渡すだけです。
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument="<%= item.ItemID %>" />
リンクがクリックされると、次のように処理します。
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;
}
}
問題は、itemID の値が「<%= item.ItemID %>」になることです。
他の人が同じ問題に遭遇し、以下のようなことを試しているのを見てきましたが、これまでのところうまくいきませんでした.
<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 %>" />