2017-02-14 11 views
0
 <asp:Repeater ID="rpt_title" runat="server" > 
       <ItemTemplate>       

        <div class="col-md-12"> 
         <div class="panel panel-default"> 
          <div class="panel-body"> 

           <div class="col-md-10 col-sm-10"> 
            <div class="quesion-div"> 
             <div class="quesion-history"> 
              <asp:Label ID="Label2" runat="server" Text='<%#Eval("category") %>' ></asp:Label> 
             </div> 
             <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("Node_Desciption") %>'></asp:LinkButton> 
              <asp:Label ID="lbl_titleid" runat="server" Text='<%#Eval("Node_Id") %>' Visible="false"></asp:Label> 
            </div> 
           </div> 
           <div class="col-md-2"> 
            <div class="question-button"> 
             <asp:Button ID="Button1" class="btn btn-primary btn-lg btn-block" runat="server" Text="Select" OnClick="lnk_Click" /> 
            </div> 
           </div> 
          </div> 
         </div> 
        </div> 
       </ItemTemplate> 
      </asp:Repeater> 

при нажатии на кнопку выбора (OnClick = lnk_Click) им событие создания один динамический кнопкакак создать динамическую кнопку внутри ретранслятора и OnClick событие

protected void lnk_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      DataSet ds = new DataSet(); 
      Button btn = (Button)sender; 
      RepeaterItem item = (RepeaterItem)btn.NamingContainer; 
      Label lbid = (Label)item.FindControl("lbl_titleid"); 
      ent.ThirdLevelCategoryID = Convert.ToInt32(lbid.Text); 
      ent.Task = "bind_question"; 
      ds = ser.bind_nodedescription_basedcatid(ent); 
      rpt_question.DataSource = ds; 
      rpt_question.DataBind(); 
      div_title.Visible = false; 
      div_question.Visible = true; 
      title_category.Visible = false; 
      ptitle.Visible = false; 

      Button btnquestion = new Button(); 
      btnquestion.Text = "Question"; 
      btnquestion.ID = "btnquestion"; 
      btnquestion.CssClass = "btn btn-primary"; 
      btnquestion.OnClientClick += new System.EventHandler(btnq_Click); 
      btnquestion.Click += new System.EventHandler(btnq_Click); 
      this.form1.Controls.Add(btnquestion); 


     } 
     catch (Exception ex) 
     { 

      ErrorLoggermain.logError(ErrorLoggermain.enumErrorTypes.AppLogicError, ex, this.Page.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name, "12"); 
     } 
    } 

    protected void btnq_Click(object sender, EventArgs e) 
    { 
     lbl_test.Text = "The email id for the customer is [email protected]"; 
    } 

Я могу создавать динамические кнопки, но btnq_Click событие не срабатывает, и моя кнопка исчезает. Пожалуйста, предложите мне, как огонь кнопки события & должна быть видна правда всегда, даже если в методе после обратного

+1

Dynamic элементы управления необходимо воссоздавать каждый раз при загрузке страницы. Вы создаете кнопку после нажатия кнопки «Выбрать», но когда вы нажимаете на свою динамическую кнопку на обратной передаче, вы не воссоздаете ее. Почему бы вам не создать невидимую кнопку с самого начала и не изменить ее видимость? – Andrei

+0

Спасибо, Андрей за ваш ответ .. Я не могу создать невидимую кнопку. потому что если одна или 2 кнопки означает, что я могу сделать невидимую кнопку, но это будет n числовых кнопок, это может быть 1, или это может быть 10 кнопок или что-то еще .. на основе моего набора данных, только я узнаю –

ответ

0

попробовать это:

<asp:Repeater ID="rpt_title" runat="server" > 
       <ItemTemplate>       

        <div class="col-md-12"> 
         <div class="panel panel-default"> 
          <div class="panel-body"> 

           <div class="col-md-10 col-sm-10"> 
            <div class="quesion-div"> 
             <div class="quesion-history"> 
              <asp:Label ID="Label2" runat="server" Text='<%#Eval("category") %>' ></asp:Label> 
             </div> 
             <asp:LinkButton ID="LinkButton1" runat="server" Text='<%#Eval("Node_Desciption") %>'></asp:LinkButton> 
              <asp:Label ID="lbl_titleid" runat="server" Text='<%#Eval("Node_Id") %>' Visible="false"></asp:Label> 
            </div> 
           </div> 
           <div class="col-md-2"> 
            <div class="question-button"> 
             <asp:Button ID="Button1" class="btn btn-primary btn-lg btn-block" runat="server" Text="Select" OnClick="lnk_Click" /> 
            </div> 
           </div> 
          </div> 
         </div> 
        </div> 
       </ItemTemplate> 
      </asp:Repeater> 

- Server Side Code

protected void lnk_Click(object sender, EventArgs e) 
{ 
    Button btn = (Button) sender; 
    string buttonText = btn.Text; 
}