Gridview中用LinkButton传值的问题
aspx:
<asp:TemplateField ShowHeader= "False ">
<ItemTemplate>
<asp:LinkButton ID= "LinkButton2 " runat= "server " CausesValidation= "false " CommandName= " "
OnClick= "LinkButton2_Click " Text= "删除 " CommandArgument= ' <%#Eval( "ID ")%> '> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
cs:
protected void LinkButton1_Click(object sender, EventArgs e)
{
string temple = ((LinkButton)sender).CommandArgument.ToString();
Label1.Text = temple;
}
问题:commandargument的值可以读出来,但是现在的问题是,数据库里面的主键时ID和Type的组合,但是我试了半天commandargument只能传一个值过来,有什么办法能通过linkbutton把ID和Type都传过来,最好是把一条row上所有字段都传过来
谢谢
------解决方案--------------------可以加一个分隔符一起赋值给CommandArgument,获取之后在Split一下
==============================================================
这个最实际,分隔符随便,逗号就行
#Eval()如果不知道,你需要看看帮助了..
------解决方案--------------------asp.net数据绑定部分,的确存在需要在一个地方同时绑定多个值时不好处理的情况。
也许上面说的用分隔符的办法可行。
还有就是主键不显示在gridtable里的情况,我一般的做法是把所有的主键都让做一个绑定列,但是让他们不显示。
------解决方案--------------------不知道你要实现什么效果。。为何不用HyperLink?
<asp:HyperLink runat=server ID= "HyperLink1 "
NavigateUrl= "abc.aspx?Id= ' <%#DataBinder.Eval(Container, "DataItem.ID ")%> '&type= ' <%#DataBinder.Eval(Container, "DataItem.type ")%> ' " Text= ' ' >
</asp:HyperLink>