我正在尝试对一个ASP.Net LinkButton控件进行属性设置,但是出现了一些问题。ASP.Net忽略了标签,直接将值作为字符串传递。
当链接被点击时,我使用以下方式处理它:
问题在于itemID最终的值为"<%= item.ItemID %>"。
我看到其他人遇到了相同的问题,尝试了以下方法,但对我来说都没有起作用。
<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 %>" />
Response.Write
,用于直接显示到响应流中。它不能用于设置服务器控件属性:相反,请使用数据绑定 ("<%# %>"),如一些答案所建议的那样。请参阅 http://msdn.microsoft.com/en-us/library/6dwsdcf5(VS.71).aspx。 - Joe