释放鼠标时,Combobox会意外自动关闭

Tho*_*mas 6 c# asp.net devexpress razor asp.net-mvc-3

我偶然发现了一个我无法解释的现象,我对它为何会发生这种现象感兴趣.我希望有人可以解释我的原因,以及如何摆脱这种现象:

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

组合框本身是一个普通的html组合框,而文本框本身是用Html.TextBox("搜索")创建的.我也试图改变命名,以防我忽略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()
Run Code Online (Sandbox Code Playgroud)

这表现得应该有整个时间(虽然组合框是可怕的格式化.因为我没有找到如何格式化它看起来像一个"普通的html"组合框我决定尝试本机模式,但更多到下面).当我将本机模式设置为true时,同样的现象再次发生(再次假,它表现正常).经过几个小时的浏览教程和文档后,我仍然完全失去了(特别是因为我没有找到任何使用的setfocus命令).

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

TNX

备注:

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

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

Sea*_*ish 1

托马斯,

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

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