2009-06-22 2 views
1

다음 코드가 있습니다. 나는 programdtically grdiview를 구축하고 난 후 하나의 linkbuttons 열을 변경합니다. 불행히도, 결코 서버 쪽 lb_Click 메서드를 다시 호출하지 않습니다. 이 문제에 직면 한 사람이 있습니까? HTTP를 : // www가 당신을 많이 수행하는 경우 동적 컨트롤이 두 기사를 체크 아웃으로어떻게 프로그래밍 방식으로 작성하고 gridview 내부의 링크 단추에서 서버 쪽 메서드를 호출 할 수 있습니까?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (CommonMethods.logOn(Request.ServerVariables["LOGON_USER"])) 
     { 
      Response.Redirect("http://www.google.com"); 
     } 

     // Now we have to build the questions 
     using (var context = new nVoteDataContext()) 
     { 
      var retrievedQuestions = from q in context.questions 
            select new 
               { 
                q.id, 
                q.question1, 
                q.questionType 
               }; 

      GridView_questions.DataSource = retrievedQuestions; 
      GridView_questions.DataBind(); 
      GridView_questions.HeaderRow.Cells[0].Text = "#"; 
      GridView_questions.HeaderRow.Cells[1].Text = "Question"; 

      foreach (GridViewRow s in GridView_questions.Rows) 
      { 
       if (s.RowType == DataControlRowType.DataRow) 
       { 
        var lb = new LinkButton(); 
        lb.CausesValidation = true; 
        lb.Attributes.Add("runat", "server"); 
        lb.CommandName = "lb_Click"; 
        lb.CommandArgument = s.Cells[0].Text; 
        lb.Text = s.Cells[1].Text; 
        s.Cells[1].Text = string.Empty; 
        s.Cells[1].Controls.Add(lb); 
       } 
      } 

     } 
    } 

    public void lb_Click(object sender, EventArgs e) 
    { 
     foreach (GridViewRow s in GridView_questions.Rows) 
     { 
      if (s.RowType == DataControlRowType.DataRow) 
      { 
       s.BackColor = System.Drawing.Color.Red; 
      } 
     } 
    } 
} 
+0

에 lb_Click를 호출하는 LinkButton에 대한 처리기를 추가해야합니다. codeproject.com/kb/aspnet/dynamiccontrolsByLeon.aspx, http://aspalliance.com/articleViewer.aspx?aId=134&pId= – russau

답변

1

당신은 Click 이벤트

lb.Click += lb_Click; 
+1

와우 - 나는 바보입니다! :-) 엄청 고마워! – Matt

관련 문제