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

时间:2013-01-10 08:22:23

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

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

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

组合框本身是一个普通的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()

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

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

TNX

说明:

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

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

1 个答案:

答案 0 :(得分:1)

托马斯,

听起来,您用于初始化ComboBox的一些DevExpress设置可能会在浏览器中导致奇怪的行为。你能否从浏览器源中包含渲染控件的副本?

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