簡體   English   中英

從GridView的aspx頁面調用codebehind方法

[英]Calling a codebehind method from aspx page from gridview

如何在aspx頁面的gridview中調用codebehind / class方法? 另外,我需要將databound列的值傳遞給該方法。 這可能嗎?

像這樣:

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

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

<asp:TemplateField HeaderText="My Number">
  <ItemTemplate>

        <asp:Label runat="server" 
           Text='<%# Eval("MyNumber", FormatHelper.Format((decimal)Eval("MyNumber"), (decimal)Eval("Precision") )) %>' />

  </ItemTemplate>
</asp:TemplateField>

之所以DataFormatString ,是因為Eval方法將DataFormatString作為可選的第二個參數。 注意:請確保使用方法簽名的適當類型替換強制類型轉換。

一種更簡單的方法可能是綁定到linq-to-objects投影。

myGridView.DataBind( from foo in fooList
                     select new {
                       MyNumber = MyNumber,
                       Precision = Precision,
                       MyFormattedNumber = FormatHelper.Format(MyNumber, Precision),
                     } );
  1. GridView.DataKeys屬性
  2. Button.CommandArgument屬性
  1. 在gridview中創建一個模板字段。
  2. 將一個按鈕添加到模板字段,並為該按鈕指定commandName(例如:“ btn”)
  3. 處理rowdatabound事件,然后檢查rowType=DataRow是否rowType=DataRow

    使用FindControl方法在此行中獲取按鈕,然后在CommandArgument填寫所需的值(例如: e.Row.DataItem("ID")

  4. 處理rowcommand事件:

    如果commandname =“ btn”,則單擊該按鈕

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM