我在GridView中的TemplateField内部的ItemTemplate中使用ASP:LinkButton。对于链接按钮的命令参数,我想从gridview绑定的数据源传递行的ID,所以我做的是这样的:
<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="<%#Eval("ID")%>" Text="View Log" runat="server"/>
不幸的是,生成的HTML是这样的:
<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="3" Text="View Log" runat="server"/>
似乎 正确地解析了Eval(),但这在某种程度上导致不解析LinkButton标记并将其作为文字文本转储出来。有谁知道:
a)为什么会发生这种情况, b)这个问题有什么好的解决方案?
答案 0 :(得分:9)
虽然它可能不会导致它,但我通常会这样定义:
CommandArgument='<%#Eval("ID")%>'
请发布GridView标记的其余部分,因为它不应该这样做。