火狐浏览器和AjaxControlToolKit组合框

6

我正在使用.NET框架4.0和相应版本的Ajax控件工具包。

在我的页面上,我定义了一个下拉框:

<asp:ComboBox ID="cbUserName" AutoCompleteMode="SuggestAppend"
        CaseSensitive="false" runat="server" BackColor="#FFFFCC">
        </asp:ComboBox>

在IE9中,组合框允许我在其中输入文本或从用户列表中选择。然而,在FireFox中,它不允许我在框中输入文本。下拉列表也不会在我在FireFox中输入时进行筛选。我想知道是否有其他人看到了这种行为,并且是否有解决方法?
编辑:值得一提的是,ASP.NET Ajax控件工具包网站上的演示在FireFox中实际上可以正常工作。

如果您已经在编辑中提到了ASP.NET Ajax Control Toolkit上的组合框工作,则您还在寻找什么? - HatSoft
6个回答

12

我也遇到了在FireFox中无法输入文本到Combobox的问题,但在IE和Chrome中可以。经过一天的研究,我发现将MaxLength属性设置为大于0的值,可以使FireFox接受在组合框的文本字段中输入的内容。

希望这能帮助遇到同样问题的人。


@Elvieejo,“Firefox”、“IE”和“Chrome”等词语不是代码,不应该被突出显示为代码。实际上,在这里只有“MaxLength”是代码,而在这种情况下突出显示它并没有什么特别的帮助。 - Andrew Barber
1
你刚刚为我节省了大量的时间,Bob。 - Michael Lewis
哎呀,这个默认值相当无意义。感谢您注意到并发布了它! - neminem
谢谢。我在Chrome中遇到了同样的问题,但是我找到了解决方法:ComboBox.SelectedIndex = 0。然后在FireFox中也出现了同样的问题。所以完整的解决方案是:ComboBox.SelectedIndex = 0; ComboBox.MaxLength = ComboBox.Items.Count; - Vladimirs
Bob的答案应该被标记为正确答案。我不知道这只是FF的问题,因为我默认在FF中启动页面。我差点放弃了,然后我找到了这个帖子。非常感谢大家 :) - CyberHawk

2
ddlBox.SelectedIndex = 0

在 Ajax 控制工具包的最新版本之前,我不需要设置。但是后来我进行了更新,就无法键入空文本框,而这个文本框以前会显示第一项。所以我加入了那段代码,现在它可以正常工作了。


0

尝试使用:

ajaxToolkit:ComboBox ID="ComboBox1" runat="server" DropDownStyle="DropDownList"
AutoCompleteMode="SuggestAppend" CssClass="" AppendDataBoundItems="false"
MaxLength="100"

0

我遇到了同样的问题。在网上找不到优雅的解决方案,所以我从两个不同的工具包源代码集构建了自己的AjaxControlToolkit.dll。

我使用了最新版本的所有内容,除了将ComboBox.cs和ComboBox.pre.js替换为AjaxControlToolkit_8502f32ba9ce中它们的版本。(大约在2011年7月)


0
类似的问题已经在这里报告过了,请确保您使用的是相同版本的Firefox和Toolkit。如果不是,请尝试升级它们,然后再试一次。

我已经升级到FireFox 15.0,但仍无法在文本框中输入。 - Tim
你能下载 .Net Framework 4.0 特定的工具包并检查它是否在 Firefox 中可用吗?如果可以,那么尝试在你的项目中引用该 dll 并再次检查。虽然已经报告了类似的问题,但如果它在示例站点中有效,那么它也应该对你有效。 - Nilesh Thakkar

0
<ajaxToolkit:ComboBox ID="ComboBox1" runat="server" DropDownStyle="DropDownList" AutoCompleteMode="SuggestAppend" CssClass="" AppendDataBoundItems="false">  
       <asp:ListItem>Fox</asp:ListItem> 
</ajaxToolkit:ComboBox> 

这在火狐浏览器中对我有效。

我不确定你是否误解了输入的能力,但组合框只允许您输入列表项。因此,在这种情况下,它只允许您输入Fox


我尝试了你的建议,但仍然没有用。我无法在与ComboBox控件相关联的文本框中输入任何内容。我可以在FireFox中选择下拉列表并选择项目,但我无法在文本框中输入(这很奇怪,因为在工具包演示网站上,FireFox可以正常工作)。 - Tim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接