我搞了个双击listbox的代码。。在pageload 中,用了
if(IsPostBack)
{
    if(Dbclickflag.Value=="true")
    ListBox_Dbclick();
}我只想双击listbox时候,才调用这个ListBox_Dbclick();可是当我单击别的
button 按钮的时候,还是会调用ListBox_Dbclick();各位老大有什么好办法。。让我单击别的按钮的时候不执行这个???但是还是要保留
上面代码(实现双击事件的代码)

解决方案 »

  1.   

    那你不要把这个放在pageload里面,放到listbox的双击事件里不就好了?
      

  2.   

    大哥。。我做的是web开发。。listbox没有双击事件。。我是通过hidden和脚本实现的。。所以 必须要上面这个语句。。请大家指教。。谢谢
      

  3.   

    前台:
    <form id="form1" runat="server">
    <SELECT id="selOne" ondblclick="window.form1.getdblclick.value='Y';window.form1.submit();"
    size="15">
    <OPTION value="sadfsadf">asdfsadf</OPTION>
    <OPTION value="asdfasd">sadf</OPTION>
    <OPTION value="sadfasdf">asdfsadf</OPTION>
    <OPTION value="asdfasdf">sadfasdf</OPTION>
    </SELECT><INPUT type="hidden" runat="server" id="getdblclick" name="getdblclick">
    </form>
    服务器端:
    public void Page_Load(object sender, System.EventArgs e)
    {
    if (getdblclick.Value=="Y")
    {
    ListBox_Dbclick();
    getdblclick.Value="F";
    }
    }
      

  4.   

    那你不要把这个放在pageload里面,放到listbox的双击事件里不就好了?
    正解
      

  5.   

    你测试一下就知道了,
    在客户端是有这事件的.
    你设置一个隐藏表单:<INPUT type="hidden" runat="server" id="getdblclick" name="getdblclick">设置一个listbox,在listbox客户端双击事件里改变这个隐藏表单的值,然后提交表单.
    <SELECT id="selOne" ondblclick="window.form1.getdblclick.value='Y';window.form1.submit();"
    size="15">在后置代码里根据这个隐藏表单的值判断这个listbox是否单击过:
                              if (getdblclick.Value=="Y")
    {
    ListBox_Dbclick();
    getdblclick.Value="F";
    }如果有则执行相应的代码,然后把这个用来做标志位的隐藏表单复位或修改为其它的值(避免因为其他的表单提交也执行这段代码)。
      

  6.   

    <script language="javascript" type="text/javascript">
    <!--
    function getdbclick()
    {

    var city=document.forms[0].ListBox1.options[document.forms[0].ListBox1.selectedIndex].text
    document.forms[0].getdbclick.value = document.forms[0].ListBox1.options[document.forms[0].ListBox1.selectedIndex].text;
    }
    -->
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form language="javascript" id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <asp:ListBox id="ListBox1" runat="server">
    <asp:ListItem Value="1">beijing</asp:ListItem>
    <asp:ListItem Value="2">shanghai</asp:ListItem>
    <asp:ListItem Value="3">tianjin</asp:ListItem>
    </asp:ListBox></FONT> <input name="getdbclick" id="getdbclick" type="hidden">
    <asp:Label id="lblMsg" style="Z-INDEX: 101; LEFT: 26px; POSITION: absolute; TOP: 96px" runat="server"></asp:Label>
    <asp:Button ID="Confirm" Runat="server" Text="Confirm"></asp:Button></form>
    服务器端
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if( !Page.IsPostBack)
    {
    ListBox1.Attributes["ondblclick"] ="getdbclick();";
    }
    }
    private void Confirm_Click(object sender, System.EventArgs e)
    {
    lblMsg.Text = Request.Form.Get("getdbclick");
    }