如何从aspx页面中的gridview调用codebehind / class方法?此外,我需要将数据绑定列的值传递给该方法。这可能吗?
这样的事情:
<asp:BoundField DataField="Precision" />
<asp:BoundField DataField="MyNumber" DataFormatString="FormatHelper.Format(MyNumber, Precision)" />
答案 0 :(得分:2)
编辑:我测试了这个。
<asp:TemplateField HeaderText="My Number">
<ItemTemplate>
<asp:Label runat="server"
Text='<%# Eval("MyNumber", FormatHelper.Format((decimal)Eval("MyNumber"), (decimal)Eval("Precision") )) %>' />
</ItemTemplate>
</asp:TemplateField>
这是有效的,因为Eval方法将DataFormatString
作为可选的第二个参数。 注意:请确保使用方法签名的相应类型替换转换。
更简单的方法可能是绑定到linq-to-objects投影。
myGridView.DataBind( from foo in fooList
select new {
MyNumber = MyNumber,
Precision = Precision,
MyFormattedNumber = FormatHelper.Format(MyNumber, Precision),
} );
答案 1 :(得分:1)
GridView.DataKeys
财产Button.CommandArgument
财产答案 2 :(得分:0)
处理rowdatabound
事件并检查rowType=DataRow
是否:
然后使用FindControl
方法获取此行中的按钮
填写CommandArgument
您想要的值(例如:e.Row.DataItem("ID")
)
处理rowcommand
事件:
如果commandname =“btn”则 单击按钮