![](/img/trans.png)
[英]ASP.NET Linkbutton not getting dynamic value for commandargument value
[英]ASP.Net LinkButton CommandArgument property ignores <%= .. %>
我正在尝试做我认为在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 %>" />
试试这个
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument='<%= item.ItemID %>' />
注意CommandArgument中的单个'
这应该工作:
<asp:LinkButton id="viewDetails" runat="server" Text="Details" OnClick="btnDetails_Click" CommandName="ItemID" CommandArgument="<%# item.ItemID %>" />
你打电话给.DataBind()? 看到这个kb
你可以在这里检查Refrences
<%: item.ItemID %>
添加ASP.NET 4.0:
<%:%>用于输出HTML编码的字符串(以与<%=%>相同的方式使用)。 除非输入是IHtmlString(即表示它知道如何创建有效的HTML),它会自动对其输入进行HTML编码。 目的是这将取代<%=%>(参见http://haacked.com/archive/2009/09/25/html-encoding-code-nuggets.aspx )
它可能对你有帮助,请告诉我进一步的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.