2017-11-21 5 views
0

클릭하면 코드 숨김에서 메서드를 실행해야하는 Repeater에 linkbutton이 있지만 LinkButton을 클릭하면 메서드가 실행되지 않습니다. 이 경우 나는 NotEmplementedException에 중단 점을 가지고 결코 호출되지 도착 방법은 단지 리피터 명령의 LinkButton이 클릭시 실행되지 않는다

protected void listItem_Click(object sender, RepeaterCommandEventArgs e) 
{ 
    throw new NotImplementedException(); 
} 

볼 : 여기

<asp:Repeater ID="rptFeatures" runat="server"> 
    <ItemTemplate> 
     <asp:LinkButton runat="server" Text='<%# Eval("Name") %>' 
      CommandName="listItem_Click" 
      CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AccessListItemId") %>'> 
     </asp:LinkButton><br /> 
    </ItemTemplate> 
</asp:Repeater> 

화재 onclick을 필요로하는 방법은 다음과 같습니다 중계기에 대한 HTML은 안타. 누군가 내가 여기서 잘못하고있는 것을 말해 줄 수 있습니까?

모든 도움을 주시면 대단히 감사하겠습니다.

답변

2

이 시도 대신 명령 이름을 사용하여 온 클릭 이벤트의

<asp:Repeater ID="rptFeatures" runat="server" OnItemCommand="rptFeatures_OnItemCommand"> 
    <ItemTemplate> 
     <asp:LinkButton runat="server" Text='<%# Eval("Name") %>' 
       CommandName="listClick" 
       CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AccessListItemId") %>'> 
     </asp:LinkButton><br /> 
    </ItemTemplate> 
</asp:Repeater> 

protected void rptFeatures_OnItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    if (e.CommandName.Equals("listItem_Click")) 
    { 
     // your code 
    }  
} 
+0

, 중 하나가 작동하지 않습니다

<asp:Repeater ID="rptFeatures" runat="server" OnItemCommand="listItem_ItemCommand"> <ItemTemplate> <asp:LinkButton runat="server" Text='<%# Eval("Name") %>' CommandName="listClick" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "AccessListItemId") %>'></asp:LinkButton><br /> </ItemTemplate> </asp:Repeater> 

은 이제 포함 인수 방법을 맞았습니다. 리피터에서해야 할 일이 있습니까? –

+0

나는 그것이 작동해야한다고 꽤 확신한다. 이 메서드 및 페이지로드 이벤트 아래에 중단 점을 넣으려고 했습니까? 무슨 일이야? –

+0

두 번째로 'CommandArgument'에 대해 의견을 말하고 무슨 일이 있었는지 확인하십시오 –

1

합니다.

의 OnClick = "listItem_Click"

+0

이 방법은 실제로 작동하지만 매개 변수가 전달되지 않습니다. –

0

나는 Baseer 하이더의 대답에 리피터에 "OnItemCommand = listItem_ItemCommand"를 추가 할 필요가 있었다. 리피터는 이제 다음과 같습니다 불행하게도

 protected void listItem_ItemCommand (Object source, RepeaterCommandEventArgs e) 
    { 
     if (e.CommandName.Equals("listItem_Click")) 
     { 
      // your code 
     } 

    } 
+0

BASEER HAIDER 응답을 "완료했습니다". 이것을 삭제하고 BASEER HAIDER 응답을 정답으로 표시하십시오. 그는 당신이 그 문제를 보도록 도왔습니다. –