2011-09-22 65 views
2

我有用戶控件,它在項目模板中有linkbutton,我試圖在代碼後面捕獲Itemcommand事件,但事件沒有被解僱。ListView中的ItemCommand未在用戶控件中觸發

我已經通過了其他類似的問題,但它沒有幫助我。下面是我的代碼片斷,有誰能幫我解決這個問題嗎?

Listview-

<asp:ListView runat="server" ID="lvTherapeuticAlternatives" OnItemCommand="TherapeuticAlternatives_OnItemCommand"> 

ItemTemplate-

<ItemTemplate> 
      <tr class='data'> 
       <td style="width:210px;"> 
        <asp:LinkButton ID="lnkMedSelection" runat="server" CommandName="SelectedMed" CommandArgument='<%#Eval("NDC") & ", " & Eval("DrugGenericProductID") %>' > 
        <asp:Label ID="lblDrugName" runat="server" Text='<%# Eval("DrugDescription") %>' /> 
        </asp:LinkButton > 
       </td> 
       <td style="width:70px;" align="center"> 
        <asp:Label ID="lblBrandGeneric" runat="server" Text='<%# Eval("descBrandGeneric") %>' /> 
       </td> 
       <td style="width:110px;" align="center"> 
        <asp:Label ID="lblStatus" runat="server" Text='<%# Eval("FormularyStatusDescription") %>' /> 
       </td> 
       <td style="width:210px;" align="left"> 
        <asp:Label ID="lblFlat" runat="server" Text='<%# Eval("CopayInfo") %>' /> 
       </td> 
      </tr> 
     </ItemTemplate> 

Codebehind-

Protected Sub TherapeuticAlternatives_OnItemCommand(ByVal sender As Object, ByVal e As ListViewCommandEventArgs) Handles lvTherapeuticAlternatives.ItemCommand 

    End Sub 

回答

0

From MSDN:

單擊ListView控件中的按鈕時會引發ItemCommand事件。這使您可以在發生此事件時執行自定義例程。

而且您沒有任何按鈕或ListView上的任何其他類型的控件可能會引發回傳;因此,你的ItemCommand處理程序永遠不會被引發。

更新

如果你宣佈你的LinkBut​​ton像這樣(只注意OnClick事件):

<asp:LinkButton ID="lnkMedSelection" OnClick="lnkMedSelection_Click" runat="server" CommandName="SelectedMed" CommandArgument='<%#Eval("NDC") & ", " & Eval("DrugGenericProductID") %>' > 

你在代碼中添加這背後:

Protected Sub lnkMedSelection_Click(sender As Object, e As EventArgs) 
     ' Do something here for example: 
     Label2.Text = "Linked button clicked" 
    End Sub 



Protected Sub TherapeuticAlternatives_OnItemCommand(ByVal sender As Object, ByVal e As ListViewCommandEventArgs) Handles lvTherapeuticAlternatives.ItemCommand 
    'Notice how this event is also raised. 
    ' You can put a break point or simply test with a label as so: 
    Label1.Text = "ItemCommand Fired" 
End Sub 
+0

感謝您的評論。 – Senthil

+0

我在列表視圖控件中有鏈接按鈕。它是 - asp:LinkBut​​ton ID =「lnkMedSelection」runat =「server」CommandName =「SelectedMed」CommandArgument ='<%#Eval(「NDC」)&「,」&Eval(「DrugGenericProductID」)%>' – Senthil

+0

@Senthil沒問題,但是這對你有幫助嗎?你知道你需要做什麼才能解決這個事件嗎? – Icarus

2

Item命令沒有被觸發,這是因爲我有ISPostback檢查頁面加載事件,因此它阻止事件處理程序調用爲ItemCommand事件註冊的方法。

當我刪除Webcontrol中的IsPostback檢查時,事件被激發。

相關問題