2015-01-04 3 views
-2

это, как я генерировал кнопки и на событие щелчка для buttons.but каждый раз, когда на кнопку мыши его принимая максимальное значение, а не кнопка нажатакак создать OnClick событие для динамически создаваемых кнопок

 int noofquestions = 100; 
     int k = 1; 

     for (int i = 1; i <= noofquestions/5; i++) 
     { 
      HtmlTableRow tRow = new HtmlTableRow(); 
      //TableRow tRow = new TableRow();   
      myTable.Rows.Add(tRow); 
      for (int j = 1; j <= 5; j++) 
      { 
       HtmlTableCell tCell = new HtmlTableCell();    
       tRow.Cells.Add(tCell); 
       Button link = new Button(); 
       //LinkButton link = new LinkButton(); 
       link.ID = "link" + k; 
       link.Text = k.ToString(); 
       tCell.Controls.Add(link); 
       ViewState["qno"] = k; 

       link.Click += new EventHandler(link_Click); 
       tCell.Controls.Add(link); 

       //link.Click += new EventHandler(this.btn_click); 

       k = k + 1; 
      } 
     } 



     void link_Click(object sender, EventArgs e) 
    { 

    } 
+2

Поскольку этот вопрос содержит пример кода, специфичные для набора инструментов пользовательского интерфейса, пожалуйста, укажите набор инструментов пользовательского интерфейса, который вы используете в тегах. –

+1

«его максимальное значение» - можете ли вы пояснить, что вы подразумеваете под этим? В настоящее время метод 'link_Click' не делает ничего; Я предполагаю, что он должен делать более или менее одинаково для каждой кнопки, но всегда основывается на текущем значении 'k' для соответствующей кнопки? Если это правда, можете ли вы добавить (тривиальный) пример реализации link_Click, который указывает это, пожалуйста? –

+0

это ужасно заданный вопрос .. -1 –

ответ

0

Это зависит от того, как вы читаете значение.

Я думаю, что мое значение max значение вы ставите под сомнение, что при чтении ViewState ["qno"] это максимальное значение, потому что это то, что он задал.

Вместо этого просто попробуйте прочитать из другого имущества.

void link_Click(object sender, EventArgs e) 
{ 
    //If you do ViewState["qno"] it will be max value of K instead do following thing. 
} 

// Выполняем следующее обновление

int noofquestions = 100; 
    int k = 1; 

    for (int i = 1; i <= noofquestions/5; i++) 
    { 
     HtmlTableRow tRow = new HtmlTableRow(); 
     //TableRow tRow = new TableRow();   
     myTable.Rows.Add(tRow); 
     for (int j = 1; j <= 5; j++) 
     { 
      HtmlTableCell tCell = new HtmlTableCell();    
      tRow.Cells.Add(tCell); 
      Button link = new Button(); 
      //LinkButton link = new LinkButton(); 
      link.ID = "link" + k; 
      link.Text = k.ToString(); 
      tCell.Controls.Add(link); 
      ViewState[link.ID] = k; 

      link.Click += new EventHandler(link_Click); 
      tCell.Controls.Add(link); 

      //link.Click += new EventHandler(this.btn_click); 

      k = k + 1; 
     } 
    } 



    void link_Click(object sender, EventArgs e) 
{ 
     Button b = (sender)Button; 
     string value = ViewState[b.ID].ToString(); 
} 
+2

Этот код также не компилируется. Почему бы просто не подождать немного, пока ОП не разъяснит, о чем они действительно просят? – BartoszKP

+0

thnx много работало !! –

+0

Если это сработает для вас, пожалуйста, примите ответ. – dotnetstep

Смежные вопросы