嗨,我正在使用 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/