为什么当我单击网格视图中的任何一行时,第一行的索引都会被选中
本文关键字:一行 索引 单击 网格 视图 为什么 任何一 | 更新日期: 2023-09-27 18:19:49
当我在任何一行中单击EDIT时,为什么它会选择第一行的索引?
Gridiview:内的编辑按钮
<asp:ButtonField CommandName="cmdEdit" HeaderText="Edit" ImageUrl="~/assets/global/images/shopping/edit.png" ButtonType="Image" ControlStyle-Width="25px" ControlStyle-Height="20px" />
EDIT:背后的代码
protected void grdviewLandInfo_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
int Index = Convert.ToInt32(e.CommandArgument);
Int32 LandInfoID = Convert.ToInt32(grdviewLandInfo.DataKeys[Index].Value);
short UserID = Convert.ToInt16(Session["UserID"]);
short LandTypeID = Convert.ToInt16(grdviewLandInfo.Rows[Index].Cells[6].Text);
在commandArgument属性中添加按钮字段,如下所示。
<asp:ButtonField CommandName="cmdEdit" HeaderText="Edit" ImageUrl="~/assets/global/images/shopping/edit.png" CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' ButtonType="Image" ControlStyle-Width="25px" ControlStyle-Height="20px" />
试试这个:
protected void grdviewLandInfo_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName == "cmdEdit")
{
try
{
...
试试这个。。。
if (e.CommandName.Equals("cmdEdit"))
{
GridViewRow row = (GridViewRow)((Control)e.CommandSource).Parent.Parent;
Int32 LandInfoID = Convert.ToInt32(grdviewLandInfo.DataKeys[row.RowIndex].Value);
}
希望这能帮助。。。