3
嗨,我使用ASPTokenInput库从以下网址找到预先填入上ASPTokenInput一些标签 https://github.com/harindaka/ASPTokenInput/wiki 任何一个可以请帮我,我怎么能预先填充在页面加载和局部回传如何
嗨,我使用ASPTokenInput库从以下网址找到预先填入上ASPTokenInput一些标签 https://github.com/harindaka/ASPTokenInput/wiki 任何一个可以请帮我,我怎么能预先填充在页面加载和局部回传如何
有一些令牌控制稍微调整一下代码,看起来这个功能并没有在原代码中完全测试过。我试着将项目添加到“项目”,并在页面加载时显示出来,但如果我添加了新项目,则会立即消失,因为它们未存储在隐藏字段中。
代码的修改后,你可以做到以下几点,其中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);
}
他们有一个全功能的演示这里https://github.com/harindaka/ASPTokenInput/downloads – 2012-06-01 01:08:54
你曾经有尝试我所提供的代码的机会呢?或者你想出了一个替代解决方案? – Peter 2012-07-23 14:14:57