我想从webuser的数据发送到webuser的数据

时间:2009-04-04 14:31:43

标签: c# .net asp.net

我创建了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:

Test.aspx

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);
                }
            }
        }

但是;

Controltest2.Items.Add(li.Text,li.Value);

这种方法不起作用,我gess ...

Helpme

1 个答案:

答案 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);
                }
        }
    }
}