powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ошибка при обращении к вложенному UserControl
5 сообщений из 5, страница 1 из 1
Ошибка при обращении к вложенному UserControl
    #33912098
rsn81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Помоги, пожалуйста, разрешить, как надеюсь, небольшую проблему.

В проекте веб-сайта есть WellTabControl (UserControl), в который вложен WorkingWellControl (UserControl). При сборке на попытку получить ссылку на экземпляр вложенного UserControl-а в Default.aspx.cs выдается следующая ошибка:
Error 1 The type 'WorkingWellControl' is defined in an assembly that is not referenced. You must add a reference to assembly 'App_Web_rbom5dwg, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. c:\inetpub\wwwroot\BaseGis\Default.aspx.cs 22

Виноватая строка:wellTabControl.WorkingWellControl.SelectionEventHandler += workingWellSelectionChanged;Примечательно, что на UserControl-ы, в которые не вкладываются другие UserControl-ы, подобной ошибки не выдается.

Defaut.aspx ...
<%@ Register TagPrefix="BaseGis" TagName="WellTabControl" Src="ui\well\WellTabControl.ascx" %>
...
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true" %>
...
<BaseGis:WellTabControl ID="wellTabControl" runat="server" />
...
WellTabControl.ascx <%@ Register TagPrefix="BaseGis" TagName="WorkingWellControl" Src="work\WorkingWellControl.ascx" %>
...
<%@ Control Language="C#" CodeFile="WellTabControl.ascx.cs" Inherits="WellTabControl" %>
...
<BaseGis:WorkingWellControl ID="workingWellControl" runat="server" />
...
WellTabControl.ascx.cs public partial class WellTabControl: UserControl {
    public WorkingWellControl WorkingWellControl {
        get {
            return workingWellControl;
        }
    }
...
Заранее благодарен.... << RSDN@Home 1.2.0 alpha rev. 655>>
...
Рейтинг: 0 / 0
Ошибка при обращении к вложенному UserControl
    #33912129
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите за глупый вопрос, но что должна делать данная строка?
wellTabControl.WorkingWellControl.SelectionEventHandler += workingWellSelectionChanged;----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Ошибка при обращении к вложенному UserControl
    #33912145
rsn81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, C...R...a...S...H, Вы писали:

CRA>Простите за глупый вопрос, но что должна делать данная строка?
CRA>wellTabControl.WorkingWellControl.SelectionEventHandler += workingWellSelectionChanged;
В принципе, неважно. На все строки с обращением к вложенному экземпляру wellTabControl.WorkingWellControl выдается подобная ошибка.
Если угодно, это подписка на событие выбора работающей скважины в списке ListBox, который находится внутри WorkingWellControl.... << RSDN@Home 1.2.0 alpha rev. 655>>
...
Рейтинг: 0 / 0
Ошибка при обращении к вложенному UserControl
    #33912177
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
public WorkingWellControl WorkingWellControl {
может быть ошибка в одинаковости типа и свойств???
Может сделать так
public WorkingWellControl GetWorkingWellControl {----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Ошибка при обращении к вложенному UserControl
    #33912296
rsn81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, C...R...a...S...H, Вы писали:

CRA>public WorkingWellControl WorkingWellControl {
CRA>может быть ошибка в одинаковости типа и свойств???
CRA>Может сделать так
CRA>public WorkingWellControl GetWorkingWellControl {
Не помогло.

Все равно спасибо за попытку помочь, проблему решил. Поясню, возможно, кто-нибудь тоже столкнется с ней.

Еще раз внимательно перечитал msdn Compiler Error CS0012. Там приводится следующий пример... Класс A в одной сборке, а класс B, который использует A — в другой. Если вы делаете сборку, в которой подключаете сборку с классом B, но не подключаете сборку A — выдается подобное сообщение: The type 'type' is defined in an assembly that is not referenced. You must add a reference to assembly 'assembly'.

Немного озадачило то, что казалось бы все мои UserControl находятся в одной сборке. Решил проверить следующую догадку... В примере приведенном выше по сути объясняется невозможность транзитивного подключения сборки: A cсылается на B, B на C — но пока не указать явно, что A опосредованно ссылается на C — ничего не выйдет. По аналогии с ASP.NET, добавил ссылку с главной страницы на вложенный элемент:<%@ Register TagPrefix="BaseGis" TagName="WorkingWellControl" Src="ui\well\work\WorkingWellControl.ascx" %>И сборка прошла!

Интересно, это такой штатный гимнастический изврат или все же чего-то недопонимаю? В случае с указанным в msdn примером все понятно, поключение dll, на которую ссылается, обосновано. Но в случае веб-сайта, то есть одной сборки... ощущение, что как будто при наследовании класса компилятор заставляет тебя сделать import namespace всех-всех его родительских классов вплоть до вершины — object. :-)... << RSDN@Home 1.2.0 alpha rev. 655>>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ошибка при обращении к вложенному UserControl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]