我有一个asp:DataGrid
与模板化的列。这是其中一栏:
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="btnDetails"
Runat="server"
CommandName="details"
Text="Details"
Font-Size="0.8em"
CommandArgument='a=<%# Eval("a")%>&b=<%# Eval("b")%>' />
<...>
当命令触发时,CommandArgument
返回时未计算 - 它是字符串 a=<%# Eval("a")%>&b=<%# Eval("b")%>
,不是a=5&b=6
如我所愿。
我这样做有什么问题吗?
最佳答案
是的,米奇是对的,如果你想要另一种方式:
CommandArgument='<%# String.Format("a={0}&b={1}",
DataBinder.Eval(Container.DataItem, "a"),
DataBinder.Eval(Container.DataItem, "b")) %>'
必须调用 DataBind,否则这些替换将不会发生...
关于.net - ASP.NET View 引擎不会执行我的代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2090263/