我正在尝试执行我认为非常简单的操作来在 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 %>" />