jquery - 如何在 ASPTokenInput 上预填充一些标签

标签 jquery asp.net tokenize

嗨,我正在使用 ASPTokenInput 库,从下面的 url 中找到 https://github.com/harindaka/ASPTokenInput/wiki 任何人都可以帮助我如何在页面加载和部分回发时预填充一些 token 控件

最佳答案

必须稍微调整一下代码,看起来这个功能在原始代码中没有经过充分测试。我尝试将项目添加到“项目”中,它们会在页面加载时显示,但如果我添加新项目,它们会立即消失,因为它们没有存储在隐藏字段中。

代码修改后,您可以执行以下操作,其中 tiTest2 是 ASPTokenInput 控件(抱歉,不支持 tiTest2.Items.Add):

            List<ASPTokenInput.Item> items = new List<ASPTokenInput.Item>();
            items.Add(new ASPTokenInputLib.ASPTokenInput.Item() { id = "United States", name = "United States" });
            items.Add(new ASPTokenInputLib.ASPTokenInput.Item() { id = "Brazil", name = "Brazil" });


            tiTest2.Items = items;

您需要按如下方式更改代码:

   //Change the Items property to the following
   public List<Item> Items
    {
        get
        {
            this.EnsureChildControls();
            if (String.IsNullOrEmpty(_hfPersist.Value)) return new List<Item>();

            else return (List<Item>)new JavaScriptSerializer().Deserialize<IList<Item>>(_hfPersist.Value);
        }
        set
        {
            this.EnsureChildControls();
            _hfPersist.Value = new JavaScriptSerializer().Serialize(value); 
        }
    }

  //Empty out "OnLoad", so it looks like this.  The functionality it was providing we don't need anymore
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

    }

关于jquery - 如何在 ASPTokenInput 上预填充一些标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9390416/

相关文章:

c# - Devexpress ASPxPopupControl 不弹出

java - 使用 Lucene 和 Java 标记化、删除停用词

java - 如何标记 json 对象数组?

Jquery 事件未定义 - 甚至获取被单击元素的属性

jquery - 将焦点切换到单击以动态添加文本输入

asp.net - 为什么我在 Visual Studio 2017 中收到 "Visual Basic 12 does not support multiline string literals"?

c# - Azure Function C# 'Run' 由于其保护级别 2 而无法访问

java - 为什么我的 arrayList 只添加来自 StringTokenizer 的最后一个标记?

Javascript 从网络响应中获取值

javascript - JQuery - 触发点击事件而不重新加载页面