2009-04-22 11 views
1
에 온 클릭

HTML :매개 변수

<asp:LinkButton ID="lnk_productImage" runat="server" Text="select" 
    OnClick="viewProductImage('<%#DataBinder.Eval(Container.DataItem,"Id") %>')" 
    > 
</asp:LinkButton> 

코드 숨김 : 매개 변수를 전달하는 LinkButton의

protected void viewProductImage(object sender, EventArgs e, int id) 
{ 
    //Load Product Image 
} 
+0

죄송합니다. "Container.DataItem,"Id ") %> ') ASP :하는 LinkButton> 보호 무효 viewProductImage (개체 보낸 사람, EventArgs입니다 전자) { } –

+0

, 코드를 편집하고 주석에 무엇을 넣어주세요 – eKek0

답변

6

사용 CommandArgument 속성입니다.

CommandArgument 특성 :

가져 또는 관련 명령 이름 속성과 함께 명령 이벤트 핸들러에 전달되는 선택적 인수를 설정합니다. 리피터 템플릿에서

:

<asp:Repeater ID="_postsRepeater" runat="server" OnItemCommand="_postsRepeater_ItemCommand"> 
    <ItemTemplate><asp:LinkButton ID="_postDeleteLinkButton" runat="server" CommandName="DeletePost" CommandArgument="<%# ((Post)Container.DataItem).ID %>">Delete</asp:LinkButton></ItemTemplate> 
</asp:Repeater> 

그런 다음 리피터의 ItemCommand 이벤트를 처리 : 당신은 아마이 코드를 사용할 수 있도록

LinkButton Members

+0

그래,하지만 당신의있는 gridview 템플릿 행의하는 LinkButton을 사용하실 수 있습니다 내가 잘못하지 않으면 그렇게하지 않겠 느냐? – DazManCat

+0

아, 미안, 두뇌 방귀. 값 ((LinkButton) 보낸 사람)을 가져 오려면이 작업을 수행해야합니다 .CommandArgument – DazManCat

8

나는, 당신이 리피터를 사용하는 참조

protected void _postsRepeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandName == "DeletePost") // Replace DeletePost with the name of your command 
    { 
     // Get the passed parameter from e.CommandArgument 
     // e.g. if passed an int use: 
     // int id = Convert.ToInt32(e.CommandArgument); 
    } 
}