2014-10-02 2 views
1

동적 컨트롤과 텍스트를 가져옵니다 내가 다른 버튼에 대한 질문이로드하고 리피터 바인딩을 클릭 얻기 위해 할당 뒤에 코드에서 SQL 데이터베이스리피터

<asp:Repeater ID="Repeater" runat="server" OnItemDataBound="Repeater_ItemDataBound"> 
    <ItemTemplate> 
     <asp:Label ID="QuestionLabel" runat="server" Text=""></asp:Label> 
     <asp:TextBox ID="AnswerLabel" runat="server"></asp:TextBox> 
    </ItemTemplate> 
</asp:Repeater> 

<asp:Button ID="AnswerSubmit" runat="server" Text="Insert"/> 

에서 일부 데이터를로드하는 리피터 있습니다. ItemDataBound에서 컨트롤을 찾아 질문에 레이블을 지정합니다.

사용자가 입력 한 답변을 버튼 클릭 이벤트에 입력 한 답변과 함께 질문의 ID와 어떻게 저장해야합니까?

은 처음에는 버튼 클릭 이벤트

foreach (RepeaterItem item in Repeater.Items) 
{ 
    Label QuestionLabel = (Label)item.FindControl("QuestionLabel"); 
} 

이 시도하지만 QuestionLabel을 찾을 수 couldnt한다. 페이지 소스를 보면 라벨에 다른 값 (QuestionLabel_0, QuestionLabel_1 등)이 있으므로이 방법에 대한 접근 방법을 찾기 위해 고심하고 있다고 생각합니다.

편집

protected void QuestionButton_Click(object sender, EventArgs e) 
    { 
     Repeater.DataSource = QuestionsByID(ID); 
     Repeater.DataBind(); 
    } 
+0

. html 요소를 사용해보십시오. –

답변

1

당신은 아마 당신이 t도 리피터에서 .NET 컨트롤을 필요로 돈 달성하기 위해 무엇을하려고하는 see

foreach (RepeaterItem item in Repeater.Items) 
{ 
    if (item.ItemType == ListItemType.Item 
     || item.ItemType == ListItemType.AlternatingItem) 
    { 
     Label QuestionLabel = (Label)item.FindControl("QuestionLabel"); 
    } 
} 
+0

그래, 나는 그것을 보았지만 QuestionLabel은 버튼 클릭 이벤트에서 항상 null입니까? – Computer

+0

코드를 게시하여 데이터의 바인딩을 만들 수 있습니까? – Fabio

+0

원래 게시물에 추가 – Computer