出于某种原因,我的 RadComboBox “EmptyMessage” 没有显示在页面的初始加载中,但是在我聚焦并模糊控制之后它会显示。如何强制我的“EmptyMessage”默认显示?
我的 .aspx 如下:
<telerik:RadComboBox
ID="SomeFilter" runat="server"
EmptyMessage="Choose..."
OnClientSelectedIndexChanging="OnClientSelectedIndexChanging"
OnClientDropDownOpening="OnClientDropDownOpening"
OnClientDropDownClosing="OnClientDropDownClosing"
OnClientBlur="OnClientBlur">
<ItemTemplate>
<asp:CheckBox ID="ItemSelector" runat="server" />
<asp:Label runat="server" ID="ItemLabel" AssociatedControlID="ItemSelector">
<%# DataBinder.Eval(Container, "Text") %>
</asp:Label>
</ItemTemplate>
</telerik:RadComboBox>
我背后的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SetSomeFilterDropDown();
}
}
private void SetSomeFilterDropDown()
{
SomeFilter.Items.Add(new RadComboBoxItem("Test1", "Test1"));
SomeFilter.Items.Add(new RadComboBoxItem("Test2", "Test2"));
SomeFilter.Items.Add(new RadComboBoxItem("Test3", "Test3"));
SomeFilter.DataBind();
}
我的 .aspx 中还有以下 javascript 方法:
var supressDropDownClosing = false;
OnClientDropDownClosing = function (sender, eventArgs) {
eventArgs.set_cancel(supressDropDownClosing);
sender.clearSelection();
}
OnClientSelectedIndexChanging = function (sender, eventArgs) {
eventArgs.set_cancel(supressDropDownClosing);
}
OnClientDropDownOpening = function (sender, eventArgs) {
supressDropDownClosing = true;
}
OnClientBlur = function (sender) {
supressDropDownClosing = false;
sender.toggleDropDown();
}
我的组合框默认为“Test1”而不是“Choose...”。但是,一旦我打开和关闭组合框,默认更改为“选择...”。