2012-06-19 3 views
0

UPDATE 좀 더주의 깊게 오류 메시지를 읽을 수 배워야한다GRIDVIEW

안에 UserControl을 내부의 OnClick에 응답합니다. gridview에 대한 내 열 지정에서 동일한 ID를 변경하는 것을 잊었습니다. 원인은 "동일한 ID가 같음"오류입니다.

내 질문과 한 번 나를 도우려는 것을 읽어 주신 모든 분들께 감사드립니다. 내 얼굴


무료 때려은 내가의 GridView 안에있는 UserControl을 내부에하여 ImageButton에서의 OnClick 또는 요구시 작동되는 이벤트의 보류를 얻기 위해 노력하고있어. 나는 명령 발생하도록하여 ImageButton을 만들려고 :

<asp:ImageButton runat="server" ID="exchanceButton" 
     Visible="False" ImageUrl="../Images/Icons/Exchange.png" 
     CommandName="exchanceCommand" CommandArgument="1"> 

그리고의 GridView OnRowCommand 내부의 캐치를하지만, 나는 다음과 같은 오류가 발생합니다 : 여러 컨트롤을 같은 ID 'userControlPlan'로 발견되었다. FindControl은 컨트롤에 고유 ID가 있어야합니다. 디버깅을 시도했지만 내 OnRowCommand에 전혀 도달하지 않았습니다.

나는 다음과 같은 가이드를 시도했지만 성공하지 :

public delegate void OnExchanceClickDelegate(int id); 

public event OnExchanceClickDelegate OnExchangeClick; 

protected void exchanceButton_Click(object sender, ImageClickEventArgs e) 
{ 
    if (OnExchangeClick != null) 
    OnExchangeClick(1); 
} 
: http://msdn.microsoft.com/en-us/library/bb907626.aspx

는 또한 UserControl을 내부 내 자신의 이벤트를 생성하여 이벤트를 수행하고 다음 각 UserControl을에 리스너를 할당하려

하지만 여러 컨트롤에 대해 동일한 오류가 발생합니다.

당신이 UserControl 내에서 ImageButton에서 이벤트를 올바르게 올릴 수있는 방법에 대한 제안 사항이 Gridview 또는 다른 것으로 나와 있습니까?

답변

0

문제가 해결되었습니다. 내 ID가 중복 된 UserControl 있습니다. 원래 질문을 업데이트했습니다.

1

도움이 될지 확실하지 않습니다. 하지만 내 사이트에서이 작업을 수행 한 방법은 다음과 같습니다.

<asp:ImageButton ToolTip="Download File" ID="lbDownload" ImageUrl="/images/btn_download.gif" 
CommandArgument='<%# Eval("DocumentName") %>' runat="server" CommandName="DownloadDoc"/> 

중요한 부분은 명령 이름입니다.

물론 gridview 태그의 OnItemCommand 매개 변수를 사용하십시오. 그리고 서버 측에서 :

protected void itemCommand(object sender, GridCommandEventArgs e) 
{ 
    if (e.CommandName == "DownloadDoc") 
    // Do something... 
}