ASP:LinkBut​​ton和Eval

sgi*_*ons 5 asp.net gridview linkbutton templatefield

我在GridView中的TemplateField内部的ItemTemplate中使用ASP:LinkBut​​ton.对于链接按钮的命令参数,我想从gridview绑定的数据源传递行的ID,所以我做的是这样的:

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="<%#Eval("ID")%>" Text="View Log" runat="server"/>
Run Code Online (Sandbox Code Playgroud)

不幸的是,生成的HTML是这样的:

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="3" Text="View Log" runat="server"/>
Run Code Online (Sandbox Code Playgroud)

它似乎正在正确解析Eval(),但这在某种程度上导致它解析LinkBut​​ton标记并将其作为文字文本转储出来.有人知道吗:

a)为什么会发生这种情况,以及b)这个问题的一个好方法是什么?

egl*_*ius 9

虽然它可能不会导致它,但我通常将其定义为:

CommandArgument='<%#Eval("ID")%>'
Run Code Online (Sandbox Code Playgroud)

请发布GridView标记的其余部分,因为它不应该这样做.