运行时创建的imagebutton命令参数不起作用?

时间:2011-09-28 19:11:29

标签: c# asp.net visual-studio gridview imagebutton

您好我正在创建这样的新图像按钮;

e.row.cells[0].text= string.empty; //clearing the cells
Imagebutton img1= new ImageButton();
img1.Id="imgInput";
img1.ImageUrl="~/sample.jpg";
img1.CommandArgument= varID; // fetching the ID
img1.click+= new ImageClickEventHandler(imgInput_Click);
e.row.controls.add(img1)

我在gridview rowdatabound事件中写了上面的代码。

现在在click事件中(imgButton_Click;在第二行最后一行处理)我希望将命令参数值放在session中;

protected void imgInput_Click(object sender, EventArgs e)
{
  Session["idvalue"]= imgInput.CommandArgument; 
}

但是这里的varID是null。为什么这样?我在这里缺少什么?

请指导!感谢

1 个答案:

答案 0 :(得分:1)

您需要使用ImageButton.Command事件。

示例:

  img1.Command += ImageButton_OnCommand;

  protected void ImageButton_Command(object sender, CommandEventArgs e) 
  {
     if (e.CommandName == "Sort" && e.CommandArgument == "Ascending")
        Label1.Text = "You clicked the Sort Ascending Button";
     else
        Label1.Text = "You clicked the Sort Descending Button";
  }