2011-01-11 12 views
0

, wenn ich entweder Linkbutton in der Listviews drücken dosen't es bei allenListenansicht OnItemCommand dosen't Feuer

<div> 
    <% 
     String[] d1 = { "1", "2", "3" }; 
     String[] d2 = { "4", "5", "6", "7" }; 
     ListView1.DataSource = d1; 
     ListView1.DataBind(); 
     ListView2.DataSource = d2; 
     ListView2.DataBind(); 
    %> 
    <asp:ListView ID="ListView1" runat="server" OnItemCommand="lv_command"> 
     <LayoutTemplate> 
      <ul> 
       <asp:PlaceHolder ID="itemPlaceholder" runat="server" /> 
      </ul> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> 
     </ItemTemplate> 
    </asp:ListView> 
    <asp:ListView ID="ListView2" runat="server" OnItemCommand="lv_command"> 
     <LayoutTemplate> 
      <ul> 
       <asp:PlaceHolder ID="itemPlaceholder" runat="server" /> 
      </ul> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <asp:LinkButton ID="LinkButton2" runat="server">LinkButton</asp:LinkButton> 
     </ItemTemplate> 
    </asp:ListView> 
</div> 

protected void lv_command(object sender, ListViewCommandEventArgs e) 
{ 
    int i = 0; 
} 
+0

Das funktioniert für mich. Ich gehe davon aus, dass Ihr Event-Handler-Code im Code-Behind ist. Ist Ihr ListView in einem UpdatePanel? –

+0

können Sie mir ein Beispiel für einen Event-Handler-Code geben? – hhh3112

Antwort

2

die Commandname-Eigenschaft von jedem der Linkbuttons Set, zum Beispiel:

<asp:LinkButton ID="LinkButton1" runat="server" CommandName="MyCommand">LinkButton</asp:LinkButton> 

So ist das, wenn ItemCommand sogar t erhöht man kann erkennen, ob es von einer Link-Taste ausgelöst wird, wie folgt:

 protected void lv_command(object sender, ListViewCommandEventArgs e) 
    { 
    if(e.CommandName == "MyCommand") 
    { 
    //do something 
    } 
} 

Auch es leistungsmäßig ist die Listenansicht auf Anfangslast zu binden nur und binden Sie es wieder von bestimmten Event-Handler bei Bedarf:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostBack) 
    { 
    String[] d1 = { "1", "2", "3" }; 
    String[] d2 = { "4", "5", "6", "7" }; 
    ListView1.DataSource = d1; 
    ListView1.DataBind(); 
    ListView2.DataSource = d2; 
    ListView2.DataBind(); 
    } 
} 
+0

Hallo Dick..kannst du mir helfen..Wie Ereignis-Button auszulösen, klicke auf den Button ** LinkButton1 ** vom _telerik: RadComboBox_ On ** OnSelectedIndexChanged ** Ereignis Oder ** OnClientSelectedIndexChanged ** Ereignis? Kannst du mir ein Beispiel geben? –

0

verschieben die Logik anwerfen, die Datenbindung in den Code-behind führt:

protected void Page_Load(object sender, EventArgs e) 
{ 
    String[] d1 = { "1", "2", "3" }; 
    String[] d2 = { "4", "5", "6", "7" }; 
    ListView1.DataSource = d1; 
    ListView1.DataBind(); 
    ListView2.DataSource = d2; 
    ListView2.DataBind(); 
} 

protected void lv_command(object sender, ListViewCommandEventArgs e) 
{ 
    int i = 0; 
}