2009-03-14 5 views
0

오늘은 또 다른 문제가 생겨서 다시 도움을 청하기 위해 내 특별한 행운을 가져야합니다. 그리고 저는이 문제에 정말로 도움이 필요합니다.ListView의 동적 이벤트 처리기?

저는 버튼 컨트롤이있는 listView 컨트롤이 있습니다. 이 버튼에 이벤트 처리기를 추가하려고하는데, 여기에 오기 전에 많은 것을 봤습니다.하지만 예제는 나에게 적합하지 않거나 초보자로서 이해하기에는 너무 복잡합니다.

필요한 것은 단추에 이벤트 처리기를 추가하는 것이므로 버튼을 누르면 서버 측에서 일부 기능 (이벤트 처리기)이 실행됩니다.


List of all the books that are currently in the Library.


<table width="630" cellpadding="2" cellspacing="5"/> 
    <tr style="background-color:#DBE2E2;"> 
     <th>Image</th> 
     <th>Book</th> 
     <th>Description</th> 

    </tr> 
     <asp:PlaceHolder ID="itemPlaceholder" runat="server" /> 
    </table> 

    <p> 
    <asp:DataPager ID="pageTopics" runat="server" PageSize="5"> 
     <Fields> 
      <asp:NextPreviousPagerField ShowFirstPageButton="false" ShowPreviousPageButton="true" ShowNextPageButton="false" /> 
      <asp:NumericPagerField /> 
      <asp:NextPreviousPagerField ShowFirstPageButton="false" ShowPreviousPageButton="false" ShowNextPageButton="true" ShowLastPageButton="false" /> 
     </Fields> 
    </asp:DataPager> 
    </p> 
</LayoutTemplate> 
<ItemTemplate> 
    <tr> 
    <td valign="top"> <br /> 
     <asp:Image ID="book_img" ImageUrl='<%# Eval("book_img") %>' Height="100" Width="100" runat="server" /> 
    </td> 

    <td valign="top"><p><b>Book Name: </b><asp:Label ID="book_name" runat="server" Text='<%# Eval("book_name") %>' /><br /> 
     <b>Author: </b><asp:Label ID="book_author" runat="server" Text='<%# Eval("book_author") %>' /><br /> 
    <p></td> 

    <td valign="top"><p><asp:Label ID="book_short_desc" runat="server" Text='<%# Eval("book_short_desc") %>' /><br /> 
     <b>Sku id: </b><asp:Label ID="book_squ" runat="server" Text='<%# Eval("book_squ") %>' /><br /> 
     <b>Arrived On: </b><asp:Label ID="book_arrived" runat="server" Text='<%# Eval("book_arrived") %>' /> 
     <asp:HyperLink ID="bookDesc" runat="server" NavigateUrl='<%# "BookDesc.aspx?id=" + Eval("book_id") %>' Text="To read more..." /> 
     <asp:Button ID="orderbook" runat="server" CommandName="order" CommandArgument="ordernow" Text="order now" /> 
    </p></td> 

    </tr> 
</ItemTemplate> 

그리고 코드 숨김에서 내가 다음 코드를 실행하려고 : 여기

내가 그런

EnableEventValidation="false" 

ListView에 자체 있나요 상단에 영문 의 코드입니다 :

override protected void OnInit(EventArgs e) 
{ 
     base.OnInit(e); 
     book_list.ItemCommand += new EventHandler<ListViewCommandEventArgs>(book_list_ItemCommand); 
} 


void book_list_ItemCommand(object sender, ListViewCommandEventArgs e) 
{ 
    testLabel.Text = e.CommandArgument.ToString(); 
    //throw new NotImplementedException(); 
} 

그러나 내가 book_list_ItemCommand 디버깅 할 때 실행되지 않습니다.

정말 도움이 필요합니다.

미리 감사드립니다.

답변

1

벽에 머리를 부러 뜨린 후 실제로 길을 발견했습니다. 나는 그것을 여기 게시 할 것이므로 비슷한 문제가있는 누군가가 해결책을 찾는다. 내가

protected void Order_Command(object sender, CommandEventArgs e) 
    { 
     if (e.CommandName == "order") 
     { 
      testLabel.Text = e.CommandName.ToString(); 
     } 
    } 

을 추가 한 뒤에 ListView에

<asp:Button ID="orderbook" runat="server" CommandName="order" CommandArgument="ordernow" OnCommand="Order_Command" Text="order now" /> 

에 그리고 코드에있는 그리고 내가 버튼을 클릭하면 지금,이 이벤트를 잡아 내 버튼입니다

.