2014-12-05 1 views
0

중계기의 특정 행에서 값을 가져 오는 방법을 고수했습니다.사용자 지정 클래스의 개체로 채워진 중계기에서 값 가져 오기

나는이 (C 번호)와 같은 coustom 클래스의 객체와 리피터를 입력 :

rptVisaBarn.DataSource = client.SkickaForalderBarn(); 
    rptVisaBarn.DataBind(); 

(ASP.NET)

<asp:Label ID="lblFornamn" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "NamnBarn").ToString() %>'></asp:Label> 
        <asp:Label ID="lvlPersonNr" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "PersonNrBarn").ToString() %>'></asp:Label> 

내가 원하는 것은 내가 클릭하면됩니다 버튼을 모든 행에 그 행에 그 객체에서 값을 colect하고 내가 webbserivce에서 가지고있는 방법으로 보내고 싶어 만듭니다. 올바른 방향으로

약간의 도움이 정말 좋은 것입니다 ..

나는 몇 가지를 시도했지만 그들은 일을 해달라고 내가 여기에서 어디로 가야 몰라요! 난 정말이 도움이 필요 becuse

나는 당신이 정보를 그냥 물어 더 필요 ..

답변

0

당신이 클라이언트 또는 서버 사이드로 클릭 하시겠습니까? 여기 괜찮은 글이 있습니다 : http://www.developer.com/net/asp/article.php/3609466/ASPNET-Tip-Responding-to-the-Repeater-Controls-ItemCommand-Event.htm.

주요 내용 :

중계기 항목 명령 이벤트를 등록 (어딘가에)하십시오. 예 :

override protected void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 
    rptData.ItemCommand += new RepeaterCommandEventHandler(rptData_ItemCommand); 
} 

은 중계기에서 버튼 만들기 : 그것은 같은 것 때문에

private void rptData_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    //e.Item contains your data item. 
    //e.CommandName contains 'edit' in the case, or whatever is in your button's CommandName 
    //e.CommandArgument contains a record ID in this case, or whatever is in your button's CommandArgument 
} 
+0

당신이 어떻게 데이터 항목을 얻을 수있는 코드 예제를 줄 수 :

<asp:LinkButton ID="btnEdit" Runat="server" CssClass="tabletext" CommandName="edit" CommandArgument='<%# Eval("pkRecordID") %>'>Edit</asp:LinkButton> 

가 이벤트를 처리 나는 물건을 찾는다. –

+0

e.Item에는 일반적으로 데이터 항목이 포함됩니다. 그러나 바인딩이 포스트 백에서 다시 발생하지 않는다면 그 이상으로 비워 둘 수 있습니다. 또한 중계기에 추가 입력이있는 경우 사용자가 입력 한 "업데이트"를 제공하지 않습니다. 일반적인 사용 사례는 간단히'CommandArgument'를 사용하고 데이터베이스에서 새롭게 데이터를 가져 와서 필요한 모든 조작을하기 위해 주변 요소를 살펴 보는 것입니다. –

관련 문제