Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> User control, Передача ссылки на контрол 
:(
    Опции темы
Artemon
Дата 29.7.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Создал User Control,
как передать ссылку на этот контрол к примеру в конструктор класса? Ведь внутри класса этот контрол не виден.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Idsa
Дата 29.7.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Насколько я понял, у Вас есть User Control и класс, у которого есть конструктор, принимающий этот User Control. Тогда в чем проблема передачи?
Код

MyClass myClass = new MyClass(userControlInstance);



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
KLUBS
Дата 29.7.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 11.2.2007
Где: Спб

Репутация: нет
Всего: 1



А на сколько я понял
Код

class MyClass : UserControl
{
private MyClass obj;
public MyClass()
{
}
}

PM MAIL ICQ Skype   Вверх
Partizan
Дата 29.7.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67



KLUBS, мне кажется Idsa  правильнее понял...
а аффтару наверно не хватает reference-а на сборку с контролом...ну или неймспейс не прорезолвен...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Artemon
Дата 29.7.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Idsa правильно понял, но дело в том что контрол у меня не в отдельной сборке, а в проекте сайта,


В коде страницы я запросто могу создать объект: 
        MyClass myClass = new MyClass(userControlInstance);


Но вот в классе, отличном от класса страницы я его создать не могу, т.к. не видно этот тип.

Добавлено через 2 минуты и 13 секунд
Вот собственно сам компонент:
Код

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;
using Commerce.Common;

public partial class Modules_CategoryChecker : System.Web.UI.UserControl
{
    private List<Category> _LstCategories = null;

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public List<Category> LstCategories
    {
        get { return _LstCategories; }
        set 
        {
            ListBoxCategories.Items.Clear();
            _LstCategories = value; 

            foreach(Category C in _LstCategories)
            {
                string Path = string.Empty;
                GetSubCats(C, ref Path);
                ListItem li = new ListItem(Path, C.CategoryID.ToString());
                ListBoxCategories.Items.Add(li);
            }
        }
    }

    /// <summary>
    /// Get sub categories path
    /// </summary>
    /// <param name="Cat"></param>
    /// <param name="Path"></param>
    public void GetSubCats(Category Cat, ref string Path)
    {
        Path += "->" + Cat.CategoryName;
        
        if(Cat.ParentID != 0)
        {
            GetSubCats(CategoryController.Find(Cat.ParentID), ref Path);
        }
    }

    public void AddCategory(Category Cat)
    {
        if (_LstCategories == null) _LstCategories = new List<Category>();

        _LstCategories.Add(Cat);
    }

    public Category SelectedCategory
    {
        get 
        {
            return ListBoxCategories.SelectedIndex != -1 ? _LstCategories[ListBoxCategories.SelectedIndex] : null;
        }
    }
}




--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Idsa
Дата 29.7.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(Artemon @  29.7.2008,  15:48 Найти цитируемый пост)
Но вот в классе, отличном от класса страницы я его создать не могу, т.к. не видно этот тип.

Какой тип не видно? MyClass или Modules_CategoryChecker? Если MyClass, то, может, он у Вас объявлен без модификатора public?


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Artemon
Дата 29.7.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: нет
Всего: 20



Не видно каласс Modules_CategoryChecker, внутри класса MyClass.

Например класс Button (стандартный класс) - замечательно видно внутри класса MyClass.

Добавлено через 3 минуты и 49 секунд
Вообще кто-нибудь пробовал передавать ссылки на свои компоненты(ascx компоненты) в своиже классы ?


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Idsa
Дата 29.7.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Artemon, не хочется гадать, что и где у Вас не так. Проблему удастся решить быстрее, если Вы прикрепите к сообщению архив с проектом.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0664 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.