VS2010 + ASP + DropDownList

0

Witam. Mam projekt napisany w vs2010. Mam w nim DropDownList i podpięte zdrarzenie SelectIndexChanged. W obsłudze zdarzenia rzutuję sobie sender na DropDownList i próbuję pobrać SelectedItem, wygląda to tak:

DropDownList ddl = sender as DropDownList;
string str = ddl.SelectedItem.ToString();

i ten kod wywala mi błąd:

'DropDownList' does not contain a definition for 'SelectedItem' and no extension method 'SelectedItem' accepting a first argument of type 'DropDownList' could be found (are you missing a using directive or an assembly reference?).

W momencie gdy odwołuję się bezpośrednio do DropDownList (nie przez sender) to wszystko jest ok. Pracuję teraz na win7, w momencie jak pisałem ten kod pracowałem na win 2k8 i wtedy hulało bez problemów. Może mi to ktoś wyjaśnić? Dzięki.

0

ale o co chodzi? czytasz i wiesz
sprawdz czy masz odpowiedni using System.Web.UI.WebControls

0

Przecież jakbym nie miał using System.Web.UI.WebControls to bym nie mógł dodać DropDownList. Chodiz mi o to, że:

  1. Ten sam kod działał na win2k8
  2. IntelliSense podpowiada mi, że wszystko jest ok, dopiero kompilator protestuje
  3. Bezpośrednie odwołanie do kontrolki (nie przez rzutowanie), działa bez zarzutu
    Może niejasno się wyraziłem

edit: właśnie sprawdziłem i kod działa w vs2008

0

kod, czy caly projekt? sam li tylko kod nic nie wyznacza jesli przenosisz sie miedzy IDE.

biorac pod uwage, ze to vs2k10, moze masz tam ustawione domyslnie .NET4 wiec klasa moze sie roznic. w dodatku jesli masz troche skitrane srodowisko, kompilator moze uzywac innego docelowego frameworka niz IDE uzywa na potrzeby intellisense. zwlaszcza jezeli jestes masochosta i uzywasz vs2k10beta - ono ma TONY bledow, glownie wrednych.

biorac pod uwage ze to ASP, to pamietajac cykl zycia kontrolek, wcale sie nie dziwie ze SelectedItems mogloby byc w .Net4 zepchniete w private/protected albo usuniete calkiem. ostatecznie po roundtripie przez html'a, jedyne co zostaje kontrolce to displaytext/selectedvalue/selectedindex, zas tresc datasource w tym selected item wyparowuje, chyba ze sobie po cichu przeladujesz.. troche sie dziwie ze w indexchanged chcesz sie do selecteditem dobrac. jest on zhardcodowany w markupie/kodzie czy dbasz recznie o jego odtwarzanie? a czy SelItem zostalo usuniete/zepchniete - nie wiem, nie sadze, patrzac po google, nie ma hałasu ze nagle zniknelo.

  1. co to znaczy bezposrednie odwolanie do kontrolki? "nie przez rzutowanie" ?? aaah chlopie.. moze jak masz ten kod w vs2k10, i sobie castujesz z sender na DDL, to to DDL poprzez jakies usingi lub referencje projektowe wcale nie wskazuje na tego DDL ktorego umiesciles na markupie? zarowno w SV2008 jak i w VS1020 w linijce "sender as DDL" pacnij prawym na DDL i 'go to definition', otworzy Ci opis z metadanych - spisz sobie z jakiego pliku dll wzielo te metadane w obu IDE i porownaj. to ci wszystko wyjasni
0

kod, czy caly projekt? sam li tylko kod nic nie wyznacza jesli przenosisz sie miedzy IDE
Sam kod. Zrobiłem nowy projekt w vs2010 i gdy dodałem existing items do solutions to dostałem ten sam błąd, gdy założyłem nowy plik i skopiowałem samą zawartość pliku to wszystko jest ok.

biorac pod uwage, ze to vs2k10...
było napisane w 4 więc powinno działać w 4 (sam kod jest dla 2). Poza tym wg msdn klasa jest wciąż taka sama. poza tym jeśli dla jednego DDL jest to dlaczego dla drugiego miałoby nie być? Używam wersji release środowiska

jesli masz troche skitrane srodowisko...
Środowisko raczej jest ok, to świeża instalacja

biorac pod uwage ze to ASP, to pamietajac cykl zycia kontrolek...
Jest cały czas public.
Jest to cały czas ten sam DDL tylko raz się odwołuję przez rzutowanie sendera a drugi raz bezpośrednio. Jeśli nie posiadałby jakiś danych to w obu przypadkach

aaah chlopie.. moze jak masz ten kod w vs2k10, i sobie castujesz z sender na DDL, to to DDL poprzez jakies usingi lub referencje projektowe wcale nie wskazuje na tego DDL ktorego umiesciles na markupie...
To jest "projekt", na którym jest panel i DDL - nie ma żadnej skomplikowanej logiki :).
Obydwa środowiska wskazują na jeden plik

Reasumując: problem można obejśćna 2 sposoby. Nie jestem asem w ASP dlatego rzuciłem temat na forum bo trochę mnie to zastanowiło. Często migrowałem solutions między różnymi systemami i nigdy nie miałem problemów. Myślę, że może rzeczywiście coś się pochrzaniło vs i się pogubił.

0

interesujace.. moze przygotuj jakiegos zipa z mikroprojektem i tymze pechowym plikiem? nie mam na razie vs2k10 pod reka, ale pare osob ma i mogloby pokopac co takiego sie stalo. mi niestety poza w/w nie przychodzi nic do glowy

0

Po wyłączeniu środowiska i uruchomieniu projektu na nowo jest ten sam błąd 8|

0

Problem rozwiązany [wstyd].
Był to problem leżący po stronie programisty i tyle tylko powiem.
Dzięki wszystkim za pomoc i sorry za stracony czas.

0

nie ma tak :) pochwal sie
//q: coż, każdemu się zdarza:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1