Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : DataList-ItemTemplate 관련 질문입니다.
글번호: 558
작성자: 김한진
작성일: 2007/05/02 오전 10:47:00
조회수: 4100
안녕하세요~
ASP.NET 공부중에 있습니다.^^
다름이 아니라 게시판 공부중에 코멘트 리스트 출력 부분에서 막혀서 이렇게
질문드립니다. 고수님들 조언 부탁드리겠습니다.(__)

환경은 visual studio2005 + ms-sql + ASP.NET2.0을 사용하고 있습니다.

게시판 상세페이지에서 코멘트가 잇으면 가지고와서 뿌려지긴하는데요...
우선제가 세션을 사용하고 있습니다. 로그인한 사람과 코멘트 등록한 사람과 일치하면
삭제 버튼이 나와서 삭제하기를 할려고 하는데요.
ItemTemplate안에다가 서버컨트롤 버튼을 놨습니다. 그리고 View.CS에서 ItemDataBound를
이용해서 유저가 일치하면 삭제버튼을 보여지게 할려니까. 에러가 납니다.

서버컨트롤이 원래 ItemTemplate안에두면 cs파일에서 인식이 안되나요?

-----에러내용-----
"컴파일러 오류 메시지: CS0103: 'btnCommentDel' 이름이 현재 컨텍스트에 없습니다."

--------View.aspx--------
<!--#######코멘트리스트 시작########-->
<asp:DataList ID="DataList1" runat="server" DataKeyField="pos" DataSourceID="SqlDataSource1"
CellPadding="4" ForeColor="#333333" OnItemDataBound="DataList1_ItemDataBound">
    <ItemTemplate>
    <table cellpadding="0" cellspacing="0" border="0" width="690">
    <tr>
        <td width="40" align="center"><img src="../Board/images/<%# Eval("imgname") %>"
border="0" /></td>
        <td width="60" align="center"><%# Eval("name") %></td>
        <td style="padding:5px 5px 5px 5px">
            <%# Eval("content").ToString().Replace("\r\n", "<br>") %
>&nbsp;<asp:Button ID="btnCommentDel" Visible="false" runat="server" Text="삭제" /> ===>삭제버튼
        </td>
        <td width="140" align="center"><%# Eval("regdate") %></td>
    </tr>
    </table>
    </ItemTemplate>
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <AlternatingItemStyle BackColor="White" ForeColor="#284775" />
    <ItemStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    </asp:DataList>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:skylarkConnectionString %>"
    SelectCommand="SELECT a.pos, a.user_num, a.regdate, a.imgname, a.[content], b.name FROM
comment a JOIN member b ON a.user_num = b.user_num WHERE a.num=@num">
    <SelectParameters>
        <asp:QueryStringParameter Name="num" QueryStringField="num" />
    </SelectParameters>
    </asp:SqlDataSource>
<!--#######코멘트리스트 끝########-->

--------View.CS--------
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        string usernum = ((DataRowView)e.Item.DataItem)["user_num"].ToString();
        if (Session["user_num"] == usernum)
        {
            this.btnCommentDel.Visible = true; //===> 왜 인식이 안될까요?
        }
    }
}
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트
  grips76
  2007-05-02 오전 11:29:56
해결되었네요..FindControl 메소드가 있었습니다.

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 조회수 증가 부분 & 코멘트 부분 (5) - 김병국 2007-05-02 3643
현재글 DataList-ItemTemplate 관련 질문입니다.(1) - 김한진 2007-05-02 4100
다음글 크리스탈리포트 강좌 있으신 분 공유 부탁드립니다. - 조경민 2007-05-02 4085
 
손님 사용자 Anonymous (손님)
로그인 Home