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