2010-11-23 63 views
0

如何從aspx頁面的gridview調用codebehind/class方法?此外,我需要將數據綁定列的值傳遞給該方法。這可能嗎?從gridview的aspx頁面調用codebehind方法

事情是這樣的:

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

您需要提供更多的信息。你最初如何獲取數據?究竟在做什麼? – IrishChieftain 2010-11-23 22:01:42

回答

1

編輯:我測試了這個工作。

<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), 
        }); 
+0

謝謝,這是我一直在尋找的東西。將給這個嘗試... – Prabhu 2010-11-23 22:24:20

1
  1. GridView.DataKeys物業
  2. Button.CommandArgument物業
0
  1. 在GridView創建一個模板領域。
  2. 將按鈕添加到模板字段,並給該按鈕 命令名(例如:「BTN」)
  3. 處理的rowdatabound事件,並檢查是否rowType=DataRow則:

    使用此行中獲取按鈕FindControl方法則 填寫其CommandArgument價值你想(例如:e.Row.DataItem("ID")

  4. 處理的rowcommand事件:

    如果命令名=「BTN」然後 按鈕被點擊