我创建了Web用户控件,它包含一个列表框,并且还提供了listdictionary属性以填充列表框
如果你喜欢下面:
public ListDictionary Items
{
get
{
if (items == null)
items = new ListDictionary();
return items;
}
set { items = value; }
}
这有助于我将项目添加到列表框中。
http://img219.imageshack.us/img219/8664/dsfdsfsf.png
我发送消息从mycontrol1到webusercontrol2:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Controltest1.Items.Add("Adana Kebap", "1");
Controltest1.Items.Add("Urfa Kebap", "2");
Controltest1.Items.Add("Beyti", "3");
Controltest1.Items.Add("İskender", "4");
}
}
protected void btnAdd_Click(object sender, EventArgs e)
{
ListBox listbox= Controltest1.FindControl("ListBox1") as ListBox;
if(listbox.Items.Count>0)
{
foreach (ListItem li in listbox.Items )
if (li.Selected)
{
Controltest2.Items.Add(li.Text, li.Value);
}
}
}
但是;
这种方法不起作用,我gess ...
答案 0 :(得分:0)
我假设您在某些时候将ListDictionary项添加到ListBox1控件项......
我建议在我们的用户控件中创建一个方法,如下所示:
public void Add(string text, string value)
{
this.ListBox1.Items.Add(text, value);
}
另外,您必须知道用户控件中的ListBox控件的名称......
您的其他财产可能会更改为:
public ListItemCollection Items
{
get
{
return this.ListBox1.Items;
}
}
最后......
protected void btnAdd_Click(object sender, EventArgs e)
{
if(Controltest1.Items.Count > 0)
{
foreach (ListItem li in listbox.Items )
{
if (li.Selected)
{
Controltest2.Add(li.Text, li.Value);
}
}
}
}