从gridview的aspx页面调用方法后面的代码

时间:2010-11-23 21:56:54

标签: c# .net asp.net vb.net gridview

如何从aspx页面中的gridview调用codebehind / class方法?此外,我需要将数据绑定列的值传递给该方法。这可能吗?

这样的事情:

<asp:BoundField DataField="Precision" />
<asp:BoundField DataField="MyNumber" DataFormatString="FormatHelper.Format(MyNumber, Precision)" />

3 个答案:

答案 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)

  1. GridView.DataKeys财产
  2. Button.CommandArgument财产

答案 2 :(得分:0)

  1. 在gridview中创建模板字段。
  2. 在模板字段中添加一个按钮,然后按下按钮a commandName(例如:“btn”)
  3. 处理rowdatabound事件并检查rowType=DataRow是否:

    然后使用FindControl方法获取此行中的按钮 填写CommandArgument您想要的值(例如:e.Row.DataItem("ID")

  4. 处理rowcommand事件:

    如果commandname =“btn”则    单击按钮