다운로드 아이콘을 클릭하면 이미지의 미리보기 이미지와 다운로드 아이콘이 표시되는 데이터리스트가 있습니다. 시스템 다운로드는 클라이언트의 위치에서 이미지를 표시합니다.Page_Load 이벤트에서 datalist itemtemplate 내부에있는 컨트롤을 찾는 방법은 무엇입니까?
<asp:DataList ID="dtlSearchDetails" runat="server" OnItemCommand="dtlSearchDetails_ItemCommand" OnItemDataBound="dtlSearchDetails_ItemDataBound">
<ItemTemplate>
<asp:ImageButton runat="server" ID="dtlImageCol" ImageUrl='<%# "~/uploads/thumbnails/" + Eval("ImageName") %>' /><br />
<asp:Label runat="server" ID="dtusage" Text='<%# Eval("usage") %>' Style="color: #CC121B;"></asp:Label><br />
<asp:ImageButton runat="server" ID="dtlImgDownload" CommandName="dtlImgDownload" CommandArgument='<%# Eval("ImageName") %>' ImageUrl="images/download.png" style="height:20px; width:20px;"/>
</ItemTemplate>
</asp:DataList>
모두 잘 작동 단지 문제는 DataList에이 updatepannel 내부에 랩 따라서 나는 Page_Load 이벤트에서 컨트롤 등록해야 사용자의 끝에서 이미지를 다운로드하기 위해서입니다 다음부터
ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(dtlImgDownload);
을 dtlImgDownload
내가 dtlSearchDetails.FindControl("dtlImgDownload ")
같은 컨트롤을 찾을 수있는 몇 가지 방법을 시도 "The name dtlImgDownload doesn't exists in current context."
DataList에 내부, 난 항상 오류가 발생하지만, 항상 null를 돌려줍니다.
는 또한if(dtlSearchDetails.FindControl("dtlImgDownload ") != null)
{
ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(dtlSearchDetails.FindControl("dtlImgDownload "));
}
그러나 같은 결과는 항상 널 (null)을 시도했다.
올바른 방향으로 연결해주세요.
내에서 컨트롤을 찾을 수
DataList
에
DataListItems
의 각을 통해 루프 필요하면 할 수없는 여전히하여 ImageButton을 찾을 수 있지만입니다 ' 경우 (dtlSearchDetails.Items.Count> 0) { 의 foreach (dtlSearchDetails.Items에 DataListItem 리) { 하여 ImageButton의 IMG = (하여 ImageButton) li.FindControl ("dtlImgDownload");를 등록 할 I처럼 사용 ScriptManager.GetCurrent (this.Page) .RegisterPostBackControl (img); 휴식; } } ' – Vishal다른 문제와 같이 작동하는 것을 신경 쓰지 마세요. Tim에게 많은 감사를드립니다. – Vishal