[問題] CommandArgument 怎麼改寫?(解決)

作者: adamini (小艾妮)   2017-06-26 17:32:39
感謝各位~最後找到方法了...(我又要開始說明,但明知大家可能看不懂
我的七零八落的形容,但還是希望之後有人碰到問題時,可以參考到)
關鍵字:GridView 動態顯示
(感謝Peruheru大大)
以下內容都是寫在.cs內
他是要寫在 RowDataBound 裡,但不是GridView_RowDataBound
而是linkButton(GridView/TemplateField/ItemTemplate) 的 RowDataBound
void xsEdit_DataBinding(object sender, EventArgs e)
{
LinkButton xLB = (LinkButton)sender;
GridViewRow row = (GridViewRow)xLB.NamingContainer;
xLB.CommandArgument = DataBinder.Eval(row.DataItem, "serial").ToString();
}
接著在GridView_RowCommand 就可以抓到 CommandArgument 值了!
參考網址:https://dotblogs.com.tw/atowngit/2011/02/17/21409
小魯妹感謝大家的幫忙~~~~~
★☆(o*>_<)o感謝o(>_<*o)★☆
==============================================================================
不好意思,我知道標題下的很差,
我真的不知道要怎麼問這個問題...
在asp.net
<asp:TemplateField HeaderText="功能" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
CausesValidation="False"
CommandArgument='<%# Eval("serial") %>'
CommandName="xEdit" Text="編輯">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
其中的CommandArgument='<%# Eval("serial") %>'
怎麼改寫在code裡...
是要寫在
protected void GridView_DataBinding(object sender, EventArgs e)
裡嗎?
(啊~我知道問法很不專業,但我真的不知道要怎麼說明了...抱歉)
作者: Peruheru (還在想)   2017-06-26 18:37:00
與其這麼問,不如說說你想達成什麼結果我猜你是希望可以程式動態決定要顯示什麼?
作者: kisha024 (4545454554)   2017-06-26 20:33:00
寫在GridView_RowCommand裡面你要設定CommandArgument的值? GridView_RowDataBound
作者: vi000246 (Vi)   2017-06-26 20:38:00
作者: vi000246 (Vi)   2017-06-26 20:56:00
只要在觸發on command事件前設值就好了說錯了 請無視我上一句
作者: J002 (阿里山 我來了XD~)   2017-06-27 13:51:00
在GridView_RowDataBound中用FindControl找到按鈕後設定CommandArgument

Links booklink

Contact Us: admin [ a t ] ucptt.com