Аргумент команды во время выполнения, созданный imagebutton, не работает?

#c# #asp.net #visual-studio #gridview #imagebutton

#c# #asp.net #visual-studio #просмотр сетки #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; обрабатывается в предпоследней строке) я хочу поместить значение аргумента команды в сеанс;

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

Но здесь значение varID равно null. Почему так? Чего мне здесь не хватает?

Пожалуйста, руководство! Спасибо

Комментарии:

1. извините меня за глупые ошибки.. я написал программу самостоятельно, а не копировал-вставлял..

Ответ №1:

Вам нужно использовать ImageButton.Событие команды.

Пример:

   img1.Command  = ImageButton_OnCommand;

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