如何将DoubleClick事件添加到列表框

时间:2015-09-02 08:04:14

标签: c# asp.net listbox

我有一个asp Listbox控件

<asp:ListBox ID="lstBox" runat="server" CssClass="listBox"></asp:ListBox>

我想在列表框中添加一个双击事件,我想要一个弹出窗口。我用谷歌搜索了它,并没有找到我的任何要求。

是否有任何事件可以捕获 DoubleClick 事件。如果没有任何替代方案来实现这一点。

顺便说一下,我想在服务器端做一切,我在WebForm

进行此操作

2 个答案:

答案 0 :(得分:0)

在这里使用隐藏的输入字段来识别单击列表框的时间:

<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e){
if(Request.Params["ListBox1Hidden"] != null
&& (string)Request.Params["ListBox1Hidden"] == "doubleclicked") {
//This means It was double click
Response.Write("Double Click was fired selected item is " 
+ ListBox1.SelectedItem.Text);
   }
}

 </script>
<html>
<head>

<title></title>
<script lang="javascript">
    function ListBox1_DoubleClick() {
        /* we will change value of this hidden field so 
                 that in 
                 page load event we can identify event.
                        */

        document.forms[0].ListBox1Hidden.value = "doubleclicked";
        document.forms[0].submit();
    }
</script>
</head>
<body>
<form id="Form1" runat="server">

        <asp:ListBox id="ListBox1" 
                ondblclick="ListBox1_DoubleClick()" runat="server">
            <asp:ListItem Value="1">One</asp:ListItem>
            <asp:ListItem Value="2">Two</asp:ListItem>
            <asp:ListItem Value="3">Three</asp:ListItem>
            <asp:ListItem Value="4">Four</asp:ListItem>
        </asp:ListBox>
        <input type="hidden" name="ListBox1Hidden" />



</form>

答案 1 :(得分:0)

您可以在页面加载时将双击事件添加到列表框,并可以检测双击页面加载,如下面的代码。

<asp:ListBox ID="lstitem" runat="server"></asp:ListBox>

页面加载

 protected void Page_Load(object sender, EventArgs e)
            { 
               if (Request["__EVENTARGUMENT"] != null && Request["__EVENTARGUMENT"] == "lstdbclick")
                {
                   //your popup code here
                }
                lstitem.Attributes.Add("ondblclick", ClientScript.GetPostBackEventReference(lstitem, "lstdbclick"));
            }