
在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引
protected void gv_Company_RowCommand(object sender, GridViewCommandEventArgs e){if (eCommandName == "QianRu")
{
//取ID的值方法一
GridViewRow drv = ((GridViewRow)(((LinkButton)(eCommandSource))ParentParent)); //此得出的值是表示那行被选中的索引值
inf id=ConvertToInt32(GridView1DataKeys[drvRowIndex]Value); //此获取的值为GridView中绑定数据库中的主键值
//取ID的值方法二
GridViewRow drv = ((GridViewRow)(((LinkButton)(eCommandSource))ParentParent)); //此得出的值是表示那行被选中的索引值
//此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drvRowIndex取得是选中行的索引
int id = ConvertToInt32(GridView1Rows[drvRowIndex]Cells[0]Text);
//取ID的值方法三
//因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用eCommandArgument得出主键ID的值
int id = ConvertToInt32(eCommandArgumentToString());
}
}
你可以在触发事件的控件里面写一个
CommandName="xx" CommandArgument='<%# Eval("xx") %>'
例如:
<asp:LinkButton ID="linkbtnName" runat="server" CommandName="Show" CommandArgument='<%# Eval("fileId") %>' Text='<%# Eval("FileName") %>'></asp:LinkButton>
CommandArgument保存的是你想要的值,或者是你想要根据这个值查询
GridView 有一个RowCommand事件
cs文件:
protected void gvFile_RowCommand(object sender, GridViewCommandEventArgs e)
{
string cmd = eCommandName; //获得name
int Id = ConvertToInt32(eCommandArgument);
//如果你要的只是一个值的话 可以直接就写eCommandArgument
//得到fileinfo的集合
//FileInfo fileInfo = FileInfoManagerGetFileInfoByFileId(Id);
else if(cmd=="Show")
{
thistextBox1Text = Id;
//thistextBox1Text =fileInfoFileName;
}
}
前台(如果在后台代码中用eCommandArgument取值的话前台代码就必须在按钮中设置CommandArgument的值,值为绑定的数据库字段<asp:TemplateFieldHeaderText=" *** 作"
<ItemTemplate
<asp:LinkButtonID="LinkButton1"runat="server
"CommandName="QianRu"
CommandArgument='<%#Eval("Id")%'签入</asp:LinkButton
<asp:LinkButtonID="LinkButton2"runat="server"CommandName="QianChu"签出</asp:LinkButton
</ItemTemplate
</asp:TemplateField后台在GridView里已经设置了LinkButton为事件处理按钮,将通过以下方法获取索引
protectedvoidgv_Company_RowCommand(objectsender,GridViewCommandEventArgse){
if(eCommandName=="QianRu")
{//取ID的值方法一
GridViewRowdrv=((GridViewRow)(((LinkButton)(eCommandSource))ParentParent));//此得出的值是表示那行被选中的索引值
infid=ConvertToInt32(GridView1DataKeys[drvRowIndex]Value);//此获取的值为GridView中绑定数据库中的主键值
//取ID的值方法二
GridViewRowdrv=((GridViewRow)(((LinkButton)(eCommandSource))ParentParent));//此得出的值是表示那行被选中的索引值
//此获取的值为GridView中绑定数据库中的主键值,取值方法是选中的行中的第一列的值,drvRowIndex取得是选中行的索引
intid=ConvertToInt32(GridView1Rows[drvRowIndex]Cells[0]Text);
//取ID的值方法三
//因为在客户端中就已经将LinkButton的CommandArgument与主键Id给绑定了所以在此可以直接用eCommandArgument得出主键ID的值
linkbutton有个属性CommandArgument绑定的时候给这个属性赋与你想传的值。
如id:
CommandArgument=‘Eval("id")’
然后通过onclick事件去触发:
LinkButton lkb = sender as LinkButton;
string id=lkbCommandArgument;这个id就是你要传递到下个页面的值。
最后跳转:
可以用URL传参
ResponseRedirect("baspxid="+id);
也可以用Session去传
Session["id"]=id;
ResponseRedirect("baspx“);
再在b页面获取这个Session
注:中文的URL传参需要去编码>
我会,我给你说原理吧你可以增加一个LinkButton列用来获取该行的ID值,将LinKButton的CommandArgument属性和gridview记录的ID(你要记住给数据库的表定义一个标识ID)接着通过queryString传送这个ID值,在另一个页面时你通过查询数据库得到该记录的想要的值
需要在gridview中开启“启用选定内容”,这样就会多一个“选择”项出来。如果客户端点击“选择”按钮时,选定行就会背景变红。
gridview不响应在行的任意位置的单击事件的。
以上就是关于GridView1_RowCommand()中如何获取当前行全部的内容,包括:GridView1_RowCommand()中如何获取当前行、gridview 怎样获得选中行的内容、GridView 动态绑定数据在页面浏览是如何获取选中行数据的ID号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)