【问题标题】:Comboboxes unexpectedly automatically closing when mouse is released释放鼠标时组合框意外自动关闭
【发布时间】:2013-01-10 08:22:22
【问题描述】:

我偶然发现了一个我自己无法解释的现象,我对它发生的原因很感兴趣。我希望有人能解释一下原因以及如何摆脱这种现象:

我为应用程序创建了几个页面,然后创建了一个搜索页面。到现在为止还挺好。每当我尝试单击组合框本身时,它都会正常打开,但是一旦我松开鼠标按钮,它就会再次关闭。除非我将鼠标移到组合框区域之外然后释放它。我看到的唯一不同寻常的是焦点自动重置到组合框之前的最后一个文本字段。

组合框本身是一个普通的 html 组合框,而文本框本身是使用 Html.TextBox("search") 创建的。我还尝试更改命名,以防我忽略了 javascript 中的某些内容但没有更改。

然后我尝试了以下方法:

 @Html.TextBox("search")


  Kategorie  @Html.DevExpress().ComboBox(
                    settings => {
                        settings.Name = "PrductCategory";
                        settings.ControlStyle.CssClass = "select";
                        settings.Width = 300;
                        settings.SelectedIndex = 0;
                        settings.Properties.DropDownStyle = DevExpress.Web.ASPxEditors.DropDownStyle.DropDown;
                        settings.Properties.IncrementalFilteringMode = DevExpress.Web.ASPxEditors.IncrementalFilteringMode.Contains;
                        settings.Properties.TextField = "Name";

                        settings.Properties.DisplayFormatInEditMode = false;
                        settings.Properties.Native = false;
                        settings.Properties.TextFormatString = "{0}";
                        settings.Properties.DisplayFormatString = "{0}";
                        settings.Properties.ValueField = "Id";
                        settings.Properties.ValueType = typeof(int);
                    }
  ).BindList(Categories).GetHtml()

这一直表现得应该有(尽管组合框的格式很糟糕。因为我没有找到如何将它格式化为看起来像“普通 html”组合框,所以我决定尝试原生模式,但更重要的是)以下)。当我将本机模式设置为 true 时,同样的现象再次发生(再次为 false 时,它​​表现正常)。 在浏览了教程和文档几个小时后,我仍然完全不知所措(特别是因为我没有发现任何 setfocus 命令正在使用)。

所以我的问题是: 有没有人知道为什么会发生这种情况以及如何阻止这种现象的发生?

Tnx

备注:

当处于本机模式并通过选项卡切换到组合框时,我可以正常浏览列表(使用箭头键),但我仍然无法打开组合框,因为它再次自动关闭并且焦点被重置到文本框(“搜索”)与所有其他情况一样(除了 native=false)。

当本机模式设置为 false 并且我单击组合框时,焦点会丢失(并设置为组合框之前的文本字段 [它是文本字段] 不到 1 秒,然后在组合框时设置为组合框不关闭)。

【问题讨论】:

  • 您是否定义了任何鼠标按钮事件,无论是组合框本身还是它的任何父控件?
  • 嗨,那里什么都没有。我唯一看到的是自动对焦(无论是 devexpress 还是 razor 功能,我不确定是哪一个)onfocus,onfocuslost 的东西。但是手动没有为焦点,按钮事件定义......

标签: c# asp.net asp.net-mvc-3 razor devexpress


【解决方案1】:

托马斯,

听起来您用来初始化 ComboBox 的一些 DevExpress 设置可能会导致浏览器出现奇怪的行为。您能否提供一份来自浏览器源代码的呈现控件外观的副本?

可能值得删除一些可选设置,例如IncrementalFilteringMode,看看这是否会导致问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 2016-01-20
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2019-12-29
    相关资源
    最近更新 更多