【发布时间】:2015-02-27 14:07:47
【问题描述】:
我需要一个用于 ASP.NET 站点的组合框。 所以控件需要:
1) - 通过下拉列表提供多个可供选择的选项
2) - 让用户将不存在的字符串写入下拉列表。
对于windows 应用程序,此组合框控件已存在于C# 中(并且工作正常)。 但是在 ASP.NET 默认控件中,没有这样的组合框。只有一个下拉列表 (1) 和一个文本框 (2)。 下拉列表不允许您使用不属于控件的 ItemList 的字符串设置 My_DropDownList.Text。
我用谷歌搜索了一下,测试了一些自定义控件,但没有按预期工作。 然后我发现了 AjaxControlToolkit。 它应该提供我需要的 ASP.Net 的确切 ComboBox。
我安装了这个包,按照预先要求添加了一个 ajax ScriptManager,然后添加了 ComboBox。 看起来您可以使用新值更改 My_ComboBox.Text,但这个新值必须属于控件的 ListItem。 否则我得到错误: “...有一个无效的 SelectedValue,因为它不存在于项目列表中”
我错过了什么吗?我的理解是我们应该能够在组合框中设置任何值(至于 VS 为 win 应用程序提供的默认 C# 组合框)。
或者,您是否知道我可以添加任何其他控件来避免此问题?
当然,我有可能做这样的事情:
My_ComboBox.Add(new ListItem("my_String");
My_ComboBox.Text = "my_String";
但我很确定你会为我提供更优雅的解决方案。
提前致谢。
【问题讨论】: