TemplateView를 통해 GridView 내부에 LinkButton이 있습니다. 무엇을 시도하든 관계없이 LinkButton은 해당 이벤트 핸들러를 호출하지 않습니다.GridView 내의 LinkButton이 OnClick 이벤트를 발생시키지 않는 이유는 무엇입니까?
- 전통적인 이벤트 핸들러 ("의 OnClick")에의 GridView 수준에서
- OnRowCommand 이벤트 핸들러 : 나는 모두를 시도했다.
두 경우 모두 디버깅을했는데 이벤트 처리기를 잡아 내지 못합니다.
페이지에서 LinkButton을 이동하면 (GridView에 없기 때문에) 올바르게 작동하므로 구문이 옳다는 것을 알고 있습니다. 흥미로운 무엇
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton Text="Cancel" ID="DeleteButton" CausesValidation="false" OnClick="CancelThis" runat="server" />
</ItemTemplate>
<asp:TemplateField>
내가 뒤에있는 코드에서 "CancelThis"방법을 제거하는 경우,이 오류가 발생합니다입니다 : 여기
는 "전통적인"방법이다. 따라서 컴파일 할 때 이벤트 핸들러를 찾았 기 때문에 이벤트 핸들러에 대해 알고 있습니다. 여기 은 RowCommand 방법입니다 :<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton Text="Cancel" ID="DeleteButton" CausesValidation="false" CommandName="CancelThis" runat="server" />
</ItemTemplate>
<asp:TemplateField>
이 경우,의 GridView가 있습니다 이벤트를 제기에서
OnRowCommand="GridView_RowCommand"
그것은 postsback, 그러나 결코 힌트.
내가 여기에 무엇을 놓치고 있는지 알 수 있습니까?
프로그래밍 숨기거나 그것을 보여주는 방법이있다, (... 안된하지만 난 일 것이라고 생각) 코드 조각 바운드 행 데이터 중 buttonfield을 찾아 그것을 숨길 수있어? 현재 반복의 일부 값에 따라 버튼을 표시하거나 표시하지 않을 수도 있습니다. 내가 읽은 모든 것은 TemplateField의 표준 Button으로 전환해야한다고했습니다. 현재 메서드에서는 RowDataBound 이벤트를 사용하여 현재 반복을 검사하고 단추를 찾은 다음 숨길 수 있습니다. – Deane
나는 그것이 가능할 것이라고 생각한다. 샘플 코드를 첨부하여 내 대답을 편집했습니다. –