[英]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),
} );
GridView.DataKeys
屬性 Button.CommandArgument
屬性 處理rowdatabound
事件,然后檢查rowType=DataRow
是否rowType=DataRow
:
使用FindControl
方法在此行中獲取按鈕,然后在CommandArgument
填寫所需的值(例如: e.Row.DataItem("ID")
)
處理rowcommand
事件:
如果commandname =“ btn”,則單擊該按鈕
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.