[问题] 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