2

我想要两个InputType="Token"文本框。所以我发现telerik:RadAutoCompleteBoxThat 具有创建令牌的属性。

令牌样式

我尝试在我的aspx页面中使用以下代码:

<div class="divClass">
    <label for="RadAutoCompleteBox1">
        Continents:</label>
    <telerik:RadAutoCompleteBox ID="RadAutoCompleteBox1" runat="server" Width="250" DropDownHeight="150"
        DropDownWidth="250">
    </telerik:RadAutoCompleteBox>
</div>

他是我在页面后面的代码:(注意:这段代码在PageLoad ( if (!IsPostBack)) 内部但在外部)

RadAutoCompleteBox1.DataSource = new List<string>() { "Europe", "America", "Asia", "Africa", "Australia" };

我在相同的页面中使用了其他带有 Telerik 的示例,例如,telerik:RadComboBox和其他……每个人都工作得很好!telerik:RadWindowtelerik:RadTabStrip


当我加载页面并尝试向其中添加任何条目时,RadAutoCompleteBox1出现以下错误:

错误


我究竟做错了什么?我错过了什么?

  • 我试图添加RadAutoCompleteBox1.DataBind();
  • 我尝试了一个空的 ArrayListRadAutoCompleteBox1.DataSource = new ArrayList();

PS:正如我所说,我需要其中两个“Token TextBox kind”,第二个不能有 DataSource,因为我将使用AllowCustomEntry="true". 这就是为什么我尝试使用空的 ArrayList


我不确定这是否是解决我的问题的最佳方法。但是,机械师正是我所需要的,我根本无法完成这项工作。

4

2 回答 2

0

我试过这个并为我工作。这是我的代码:

<div>
            <fieldset>
                <legend>Token mode</legend>
                <telerik:RadAutoCompleteBox runat="server" ID="RadAutoCompleteBox1" EmptyMessage="Please type here"
                    AllowCustomEntry="true" InputType="Token" Width="350">
                </telerik:RadAutoCompleteBox>
            </fieldset>
            <fieldset>
                <legend>Token mode</legend>
                <telerik:RadAutoCompleteBox runat="server" ID="RadAutoCompleteBox2" EmptyMessage="Please type here"
                    AllowCustomEntry="true" InputType="Token" Width="350">
                </telerik:RadAutoCompleteBox>
            </fieldset>
        </div>

这是我背后的代码:

protected void Page_Load(object sender, EventArgs e)
    {
        RadAutoCompleteBox1.DataSource = new List<string>() { "Europe", "America", "Asia", "Africa", "Australia" };
        RadAutoCompleteBox2.DataSource = new List<string>();
    }

这是我的输出

在此处输入图像描述

自动完成演示可在此处找到:http: //demos.telerik.com/aspnet-ajax/autocompletebox/examples/default/defaultcs.aspx

让我知道这是否对您有帮助

于 2013-06-28T18:08:08.290 回答
0

Ok, I'm not sure if this is how it should be done, but it works.

I used the [WebMethod]

[WebMethod]
public static List<string> LoadRadAutoCompleteBox1()
{
    return new List<string>() { "Europe", "America", "Asia", "Africa", "Australia" };
}

[WebMethod]
public static List<string> LoadRadAutoCompleteBox2()
{
    return new List<string>();
}

And in the aspx

<telerik:RadAutoCompleteBox runat="server" ID="RadAutoCompleteBox1" EmptyMessage="Please type here" SelectMethod="LoadRadAutoCompleteBox1" 
    InputType="Token" Width="350">
</telerik:RadAutoCompleteBox>

<telerik:RadAutoCompleteBox runat="server" ID="RadAutoCompleteBox2" EmptyMessage="Please type here" SelectMethod="LoadRadAutoCompleteBox2" 
    AllowCustomEntry="true" InputType="Token" Width="350">
</telerik:RadAutoCompleteBox>
于 2013-06-28T20:45:30.027 回答