必须单击两次才能在ASP.NET中展开DropDownList

时间:2008-12-09 16:39:36

标签: c# .net asp.net drop-down-menu

我继承了一个ASP.NET 2.0项目,我注意到的一件事是用户必须点击dropdownlist两次才能扩展它 - 为什么会这样?

活动顺序

  1. 第一次点击给出控制焦点,第二次点击将展开它。
  2. 该应用程序使用主页/内容页面并启用了Ajax。
  3. 看起来这在IE6中不会发生,但确实发生在IE7中。

5 个答案:

答案 0 :(得分:1)

找到并排序(暂时)。

问题是由用户控件插入的Javascript函数引起的,并且正在向DropDownLists添加样式。为什么这不是用CSS做的我不知道(但很快就会出现)但是注释掉以下函数解决了我的问题:

    function inputOnFocus(objInput)
    {
        objInput.style.backgroundColor = sHighLightBgColor;
        objInput.style.border = sBorderHighlight;

        //objInput.className = "inputOnFocus";
        sIDWithFocus = objInput.id;
    }

我不太确定如何/为什么这个应用于某些DDL而不是其他人,但目前(随着客户演示即将推出)我真的不在乎 - 当我得到时我会深入研究一个机会。

感谢@LFSR Consulting,@ Scott Evernden和@kogus提供的意见。

答案 1 :(得分:0)

如果这是最好的解决方案并且还没有尝试过,请不要这么做..但是如果在onload()上将setfocus设置为有问题的控件呢?

答案 2 :(得分:0)

如果你正在使用IE7并使用onFocus事件来查看这些内容,请看一下:

http://forums.asp.net/p/1049119/1479078.aspx#1479078

否则我可以建议你看一下:

  • 是对onFocus服务器的调用,其中在Page_Load上没有正确处理IsPostBack?
  • 为任何其他想法留空:

    你可以抛出一些代码,以便我们看看吗?

  • 答案 3 :(得分:0)

    我知道我在旧帖子上发帖;但是,我想在此分享我的两分钱,因为它可能在将来帮助任何人。

    我最近正在制作一个快速表格,并希望突出显示用户使用黄色的所有字段,并且当焦点丢失时显然会返回白色。

    没有进入代码,因为我不使用ASP.NET,只是javascript部分...我做的是为了解决这个问题,为onmousedown创建了另一个事件。只需拥有onfocus部分就可以让我不得不两次点击一个下拉框。一旦设置焦点,另一个点击并列出项目。通过添加onmousedown函数,它允许我在点击以及制表符或其他形式的焦点移动时进行颜色更改。

    当然,没有必要有对手,因为onblur会照顾它(onfocus的对应物)。

    答案 4 :(得分:-1)

    是否在下拉事件中填充了下拉数据?如果是这样,一个简单的解决方法是在数据加载结束时将DroppedDown状态设置为True。

    相关问题