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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приведение типов 
:(
    Опции темы
davandr
Дата 19.6.2007, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем привет.

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

Так 

Код

            MyControl myControl = (MyControl)Page.LoadControl("Controls/MyControl");


и вот так 

Код

            MyControl myControl = Page.LoadControl("Controls/MyControl.ascx") as MyControl;



Вот и объясните мне, пожалуйста, кто сможет. В чем отличие этих двух вариантов привидения типов, и возможно ли еще как-то это реализовать?


--------------------
PM MAIL   Вверх
Mymik
Дата 19.6.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 50
Всего: 78



davandr, честно говоря у меня такое никогда не глючило. Но по правде всегда вместо MyControl myControl писал Control myControl
Первый способ это попытка привести и если не получится, то Exception, AFAIK.
А второй способ, если не получится привести, то возвращает null.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
tol05
Дата 19.6.2007, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 34
Всего: 170



Mymik, очень правильно сформулировал!  smile  Второй способ - мягкое приведение типов, но только для ссылочных (для int не подойдет)

davandr, что значит глючит? Какое сообщение пишет? вообще-то правильный вариант, как я в MSDN поглядел, второй


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
davandr
Дата 19.6.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(tol05 @  19.6.2007,  12:29 Найти цитируемый пост)
davandr, что значит глючит? 

 
Говорит, что не может привести типы контролов. "Unable to cast .... "

Причем я заметил такое часто бывает именно со своими контролами и мастер пагами.


--------------------
PM MAIL   Вверх
tol05
Дата 19.6.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 34
Всего: 170



Код

<%@ Reference Control="MyControl.ascx" %>

есть?
или давай код покажи.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
SpaceSpace
Дата 25.6.2007, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 10



пробуй указывать абсолютный путь(~). и ВСЕГДА пиши раширение (.ascx)

Код

MyControl mc = (MyControl)Page.LoadControl("~/Controls/MyControl.ascx");



--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
davandr
Дата 26.6.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Бесполезно ((


--------------------
PM MAIL   Вверх
SpaceSpace
Дата 27.6.2007, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 10



код давай. посмотрим.


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
davandr
Дата 27.6.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Дык, код-то собственно я уже и дал, только название класса контрола другое.
В какой момент начинает глючить - загадка. 
Раз проглючит, перекомпилю контрол, все работает (какое-то время), потом заново..
Я думаю это все-таки студия глючит.



--------------------
PM MAIL   Вверх
SpaceSpace
Дата 28.6.2007, 07:00 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 10



в общем  скорее всего что-то потустороннее. попрыгай с бубеном, должно помочь. Или монитор поменяй,
и мышь(из-за неё все, точно говорю)

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


--------------------
Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение.
70-565
MCPD Enterprise 3.5 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

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

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

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


 




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


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

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