получить список <CustomClass>со страницы в пользовательский контроль - PullRequest
1 голос
/ 01 октября 2011

У меня есть собственный список классов на моей странице с кодом:

public List<Category> Categories = new List<Category>();

Теперь у меня также есть пользовательский элемент управления на этой странице, который должен отображать этот список.

как я могу получить доступ к списку из usercontrol, или я могу создать список прямо в usercontrol со страницы?

мой код контроля пользователя:

public List<Category> Categories = new List<Category>();
protected void Page_Load(object sender, EventArgs e)
{

}

public class Category
{
    public string category_id { get; set; }
    public string category { get; set; }
}

Код моей страницы:

public List<Category> Categories = new List<Category>();
protected void Page_Load(object sender, EventArgs e)
{
    Category MyCategory = new Category();
    MyCategory.category_id = 1;
    MyCategory.category = "sample";
    Categories.Add(MyCategory);
}
public class Category
{
    public string category_id { get; set; }
    public string category { get; set; }
}

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Создайте свойство в вашем пользовательском элементе управления и назначьте список этому свойству

MyUserControl.ListProperty = theList;

OR

Поместите список как публичное свойство на странице и получите доступ к нему через свойство Page в пользовательском контроле. Сначала вам нужно будет привести его к типу страницы.

var theList = ((MyPage)Page).ListProperty

OR

Поместите список в HttpContext.Current.Items и получите его оттуда.

HttpContext.Current.Items["theList"] = theList;
0 голосов
/ 01 октября 2011

с тех пор, как Хасан Хан начал помогать мне, но так и не ответил на мои дополнительные вопросы ... я должен был найти свое собственное решение.

так, как я это сделал в конце, вместо добавления элементов в списокна странице, добавляя их непосредственно в пользовательский элемент управления следующим образом:

filterControl.Categories.Add(new widgets_filter.Category{ category_id = "", category = ""});

Я не знаю, является ли это хорошим решением, но, по крайней мере, оно работает.

, если кто-то предоставитлучше ответ (с примером кода), я постараюсь их использовать, а вот что у меня есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...