如题

解决方案 »

  1.   

    用<asp:hyperlinkcolumn/>是实现不了楼主的需求,因为<asp:hyperlinkcolumn/>是不能直接添加ondbclick属性的,
    因此若是想实现,就只有用模板列,然后添加HyperLink控件,具体可以这样:.aspx文件中:<asp:datagrid id="DataGrid1" runat="server">
    <columns>
    <asp:templatecolumn>
    <itemtemplate>
    <asp:hyperlink id="myLink" runat="server" navigateurl="#">HyperLink</asp:hyperlink>
    </itemtemplate>
    </asp:templatecolumn>
    </columns>
    </asp:datagrid>
    然后在DataGrid控件的ItemDataBound事件处理程序添加如下代码:private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if((HyperLink)e.Item.FindControl("myLink") != null)
    {
    ((HyperLink)e.Item.FindControl("myLink")).Attributes.Add("ondbclick","alert('hello,you have clicked me double.');");
    }
    }
      

  2.   

    更正:
    ((HyperLink)e.Item.FindControl("myLink")).Attributes.Add("ondbclick","alert('hello,you have clicked me double.');");其中的ondbclick 应为 ondblclick
      

  3.   

    TO:Jinglecat(晓风残月) 
    这样用户不好使用呀,我试了一下。
    还没有双击完,就已经联接到别的地方了。我是想实现这样的效果,当单击时联接到一个页面,双击时(或其它)联接到另外一个页面怎么搞?
      

  4.   

    你必须将该链接的链接地址改为#,然后在事件里面让页面转向
    比如:
    <a href=# onclick="document.location.href='xxx.aspx';" ondblclick="document.location.href='bbb.aspx';">链接</a>
    语法构造必须达到上述效果.
      

  5.   

    试验了一下,发觉不能把单击事件与双击事件写在一起,否则第一次点击时,就已经响应了,不可能再进行第二次点击.
    可能楼主的想法不能实现.
    <a href=# ondblclick="document.location.href='bbb.aspx';">链接</a>
      

  6.   

    对于<a/>标签,有几点想法,
    设置 href 属性 和 onclick的触发事件是一样的,都是单击,只是onclick在 href(也就是跳转页面)之前,同时只有onclick的事件处理程序返回true才继续跳转,用鼠标的都知道,onclick和ondblclick,对于用户体验并不是很好,更不用说在web上了,浏览器的DHTML模型好像对onclick和ondblclick的响应不是很精确,刚才偶也是没考虑倒这一点,
    以为楼主只要实现双击就可以了,因此想要精确响应onclick和ondblclick可能不是很现实,
    偶能想到的就是利用下拉菜单,用隐藏层实现,见显示菜单层程序加到onclick事件,
    方法同上,