调用ASPxClientComboBox.AddItem()
时,我在_aspxRemoveAttribute
函数中出错,该obj为空。
我已将其追溯到CreateNewItem
函数,该函数永远不会返回结果。
我的组合框开始无人居住,我正在尝试在客户端添加项目,但是在尝试将项目添加到已经从服务器端添加的项目的组合框时出现了同样的错误。
这是使用v2011 vol 2.5版本。
修改 这是组合框标记:
<dx:ASPxComboBox ID="txtCountry" runat="server" Width="95%" data-bind="dxDataBind: Countries, keyMember: 'Id', displayMember: 'Name', SelectedKey: CountryId">
<ValidationSettings>
<RequiredField IsRequired="True" ErrorText="Country required" />
</ValidationSettings>
</dx:ASPxComboBox>
data-bind属性是KnockoutJS的一部分,我试图适应它绑定到其他控件。
基本上目前我只是尝试将一个项目添加到客户端的空组合框中,并带有两个字符串参数。
答案 0 :(得分:1)
令我尴尬的是,这是由于EnableClientSideScript没有启用。但是客户端api可用,它只是没有正常运行,这似乎不是正确的行为。
答案 1 :(得分:0)
指定 ASPxComboBox.ClientInstanceName 属性以启用控件的client-side programmatic object并使用客户端AddItem方法,如下所示:
<dx:ASPxComboBox ID="txtCountry" runat="server" Width="95%" ClientInstanceName="cmb">
<ValidationSettings>
<RequiredField IsRequired="True" ErrorText="Country required" />
</ValidationSettings>
</dx:ASPxComboBox>
<input type="button" value="Add Item" onclick="OnClick();" />
<script type="text/javascript">
function OnClick() {
var text="Text1";
var value="Value1";
cmb.AddItem(text, value);
}
</script>