2009-09-17 1 views

답변

2

OnItemCommand 이벤트를 추가하고 UserId를 단추의 CommandArgument에 바인딩 할 수 있습니다. 뒤에

<asp:Repeater ID="repeater1" runat="server" OnItemCommand="repeater1_ItemCommand"> 
    <ItemTemplate> 
     <asp:Button ID="button1" runat="server" CommandArgument='<%#Eval("UserId")%>' /> 
    </ItemTemplate> 
</asp:Repeater> 

코드 :

protected void repeater1_ItemCommand(object sender, RepeaterCommandEventArgs e) 
{ 
    Guid userId = new Guid(e.CommandArgument.ToString()); 
} 
+0

하지만 Click 이벤트 중에 UserId를 가져와야합니까? – mrblah

+0

죄송합니다, 이해가 안됩니까? – sshow

+0

당신이 찾고있는 것이 가장 좋은 해결책입니다, 버튼을 클릭하면 repeater itemcommand 이벤트가 발생합니다. 거기에서 userID를 찾을 수 있습니다. 단순히 click 이벤트에서 작성한 내용을 repeate_ItemCommand 이벤트에 넣으십시오. –

1

또한 행에 숨겨진 필드를 사용하여뿐만 아니라 도움 것으로 나타났습니다.

0

두 대답 모두 좋습니다.

ASP.NET의 포스트 백 메커니즘을 거치지 않고 "평범한"이전 HTML 포스트 백을 수행하려는 경우 Anthony의 방법 (숨겨진 필드)을 사용하십시오.

그렇지 않으면 sshow를 사용하십시오. 그것은 .NET 프레임 워크 (적어도 버전 2.0까지)에 대해 좀 더 "관용적"인 것입니다.

관련 문제