2017-01-17 4 views
1

Назначения Места # 1:ImageButton OnClick (Программная) стрельба, но не позволяет контрольно-пропускные пункты - Пошаговое руководство показывает OnClick событие не stepable

   case 1: 
        TableCell tCell = new TableCell(); 

        if (!strlil_image_1.Contains("blank")) 
        { 
         var img = new ImageButton(); 
         img.ID = "imglil_image_" + strlil_image_1.Replace("images/inventory/", String.Empty).Replace(".", "_"); 
         img.AlternateText = "Image " + i.ToString(); 
         img.ImageUrl = strlil_image_1; 
         img.Width = 40; 
         img.Height = 40; 
         img.Click += img_Click; 
         tCell.Controls.Add(img); 
       } 
       else 
       { 
        var img = new Image(); 
        img.ID = "imglil_image_" + i.ToString(); 
        img.AlternateText = "Image " + i.ToString(); 
        img.ImageUrl = strlil_image_1; 
        img.Width = 40; 
        img.Height = 40; 
        tCell.Controls.Add(img); 
       } 

       tRow1.Cells.Add(tCell); 
       break; 

Назначение Место # 2:

   TableCell tCell = new TableCell(); 

       if (arrList[i].mark_color_group) 
       { 
        tCell.Style.Add("border", "1px solid brown"); 
        imgMainPic.ImageUrl = arrList[i].image_name.ToString(); 
       } 

       var img = new ImageButton(); 
       img.ID = "imglil_color_group_" + arrList[i].color_id; 
       img.AlternateText = "Image " + arrList[i].color_id; 
       img.ImageUrl = arrList[i].image_name; 
       img.Width = 40; 
       img.Height = 40; 
       img.Click += img_Click; 
       tCell.Controls.Add(img); 

       tRow.Cells.Add(tCell); 

Связанных функций:

protected void img_Click(object sender, ImageClickEventArgs e) 
{ 
    getData(); 

    ImageButton clickedbutton = sender as ImageButton; 
    String strbtn = String.Empty; 
    int intbtn = 0; 
    int inttype = 0; 

    if (clickedbutton.ID.Contains("imglil_color_group_")) 
    { 
     inttype = 1; 
    } 

    if (clickedbutton.ID.Contains("imglil_image_")) 
    { 
     inttype = 2; 
    } 

    switch (inttype) 
    { 
     case 1: 
      //determine id - color group in the middle of the detail td 
      strbtn = clickedbutton.ID.Replace("imglil_color_group_", String.Empty); 
      intbtn = Convert.ToInt32(strbtn); 

      drawLilImagesTable(intbtn.ToString(), false); 
      break; 
     case 2: 
      //determine id - lil picture on the left, putting src into big pic 
      strbtn = clickedbutton.ID.Replace("imglil_image_", String.Empty); 
      strbtn = strbtn.Replace("_", "."); 
      //intbtn = Convert.ToInt32(strbtn); 

      imgMainPic.ImageUrl = strbtn; 
      break; 
    } 
} 

Когда страница изначально запускается, ImageButton рисует с правильным изображением курсор = ha nd и т. д. При щелчке по страницам загружаются циклы страниц, загружается Page_Load (дочерний и основной), но затем, когда вы переходите через код, функция ImageButton не запускается. Вот где я в тупике.

Помощь !!!

ответ

0

Похоже вы делаете местный IMG к Image в

  else 
      { 
       var img = new Image(); 
       img.ID = "imglil_image_" + i.ToString(); 
       img.AlternateText = "Image " + i.ToString(); 
       img.ImageUrl = strlil_image_1; 
       img.Width = 40; 
       img.Height = 40; 
       tCell.Controls.Add(img); 
      } 

      tRow1.Cells.Add(tCell); 
      break; 

, а затем ломается? Событие никогда не назначается. Является ли условие для If, прежде чем else никогда не будет истинным?

+0

1) Код не вызывает ошибок. 2) ImageButton отображает «правильно». 3) Когда я нажимаю ImageButton, сообщения на странице. 4) Но когда я следую потоку отладки, код не переходит к функции, о которой я рассказываю. 5) Другие функции, такие как опция замены DropDownList, запускаются без ошибок. 6) Помогите !!! –