2012-12-17 68 views
0

我可以使用雙擊asp.net listview嗎?我想通過雙擊來調用一個函數,而不是單個即ItemCommand。ASP.NET listview雙擊

是它在所有可能的?

Ta!

+0

該職位是的WinForms,是不是。我在ASP.NET webforms之後。 – ninety

回答

0

ASPX:

<asp:ListView ID="ListView1" runat="server" 
    onitemdatabound="ListView1_ItemDataBound" onitemcommand="ListView1_ItemCommand"> 
    <ItemTemplate> 
     <asp:LinkButton ID="LinkButton1" CommandName="DoubleClick" runat="server">LinkButton</asp:LinkButton> 
    </ItemTemplate> 
</asp:ListView> 

CS:

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) 
    { 
     if (e.Item.ItemType == ListViewItemType.DataItem) 
     { 
      LinkButton LinkButton1 = (LinkButton)e.Item.FindControl("LinkButton1"); 
      string _jsDouble = ClientScript.GetPostBackClientHyperlink(LinkButton1, ""); 
      LinkButton1.Attributes["ondblclick"] = _jsDouble; 
      LinkButton1.Attributes["onclick"] = "return false;";  
     } 
    } 

    protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e) 
    { 
     if (e.CommandName == "DoubleClick") 
     { 

     } 
    } 
+0

這是訣竅。 listview中的每個元素都被asp:LinkBut​​ton包圍,所以我可以點擊任何信息。而不是循環每個LinkBut​​ton0-15並添加attirbutes任何人都可以提出一點jQuery來做這一切嗎? – ninety

0

如果調用函數指的是server side調用簡單的事情將是

private void listView_MouseDoubleClick(object sender, MouseEventArgs e) 
{ 
    MessageBox.Show("Double Click Event Called"); 
} 

有關同一檢查的詳細信息:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.doubleclick.aspx

如果調用函數是指任何client side (Javascript/Jquery call)那麼你就可以用途:

$('#target').dblclick(function() { 
    alert('Handler for .dblclick() called.'); 
}) 

更多信息檢查here