Команда Аргумент в Runtime создан imagebutton не работает? - PullRequest
1 голос
/ 28 сентября 2011

Здравствуйте, я создаю новую кнопку с изображением чего-то вроде этого;

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, которое.

Теперь в событии click (imgButton_Click; обработаново второй последней строке) я хочу поместить значение аргумента команды в сессию;

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

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

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

1 Ответ

1 голос
/ 28 сентября 2011

Вам необходимо использовать событие 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";
  }
...