GRY-Online.pl --> Archiwum Forum

ASP 2.0 zna się ktoś na tym? Mam pare pytań..

04.06.2006
14:29
smile
[1]

Toolism [ GameDev ]

ASP 2.0 zna się ktoś na tym? Mam pare pytań..

Problem przedstawia się następująco..
Robię stronę dla swojej dziewczyny ( właściwie to na zaliczenie z technologii internetu , ale przy okazji dla dziewczyny;P) która będzie Galerią Zdjęć , z bazą danych i jakimś CMS'em żeby mogła sobie ładnie tym wszystkim zarządzać ( dodawanie, usuwanie, zmienianie opisów, tworzenie nowych galerii itd.. ) To raczej wiem jak zrobić, właściwie to mam już sporą część tego zrobioną.

PROBLEM leży w stronie którą będą oglądali ( yeah right.. ) zwykli userzy. Mam master_page'a który po lewej tworzy linki do galerii które można obejrzeć ( są to oczywiście wszystkie galerie dostępne w bazie danych podczas wysyłania strony do servera ) . I TERAZ najważniejsze..

jak sprawdzić na który hyperlink ( z tej listy galerii wygenerowanej ) user kliknął i w jaki sposób dobrać się do wnętrza tego hyperlinka żeby przekazać "nazwę galerii".??

Wiem jak to zrobić mnie wiecej od strony koncepcyjnej.. zapisać wnętrze hyperlinka do jakiejś zmiennej którą potem przekazać do kolejnej strony która zgodnie z tą zmienną stworzy kwerendę wybierającą jedynie te zdjęcia które należą do galerii która to ma nazwę taką jak nazwa zawarta w tej zmiennej ( nazwałem swoje galerie w bazie danych Galeria0,1,2,3,4 zeby od razu możnabyło to wrzucać na stronę w postaci linka dobrze określającego galerię a jednocześnie używać tego potem do tworzenia samej strony galerii, bo w końcu dzieki nazwie moge pobrać wszystkie zdjecia które do galerii należą )..

Zatem.. pytanie .. jak to zrobic? Jak dobrać się do wnętrza hyperlinka który został kliknięty?Najlepiej nie JavaScriptowo.. tylko pod kątem ASP, ja obecnie obsługę strony piszę w C#.

Jeszcze obrazek daję tego co jest:
Widzicie malutkie menu po lewej z pobranymi z bazy danych nazwami galerii, u góry jest jakiś tam sobie banerek to nieważne ( razem z menu tworzy Masterpage'a ) a po prawej tam gdzie jest wypisany czarny tekst , po kliknieciu powinna pojawić się strona z zawartością galerii którą opisywał link. ( Dla uproszczenia na razie powiedzmy ze mialby sie tam pojawić jedynie text mówiący "kliknąłeś na : <tu nazwa galerii która została wybrana>"


Jeszcze jedna sprawa: wiem że można to zrobić pewnie inaczej, ale chce mieć te hyperlinki po lewej .

04.06.2006
14:49
[2]

Grzesiek [ - ! F a f i k ! - ]

Toolism ---> Nie bawiłem się jeszcze w obrazki i wogóle, ale podpowiem Ci krótko, co i jak można zrobić, żeby wyciągać z linku to, co się chce. Dajmy na to, że w bazie masz dwie tabele - GALERIA i ZDJECIA - (wszystko co pisze tyczy sie SQLa :) )
GALERIE
-- galeriaID -- -- galeriaTytul -- -- galeriaOpis --
ZDJECIA
-- zdjecieID -- -- zdjecieTytul -- --zdjecieOpis -- -- galeriaId --

Tak, ze masz powiazane tabele za pomoca galeriaId - musisz poszukac jeszcze na necie informacji, dotyczacych tego jak zrobic, by sciezka do pliku byla zapisywana w bazie i wogole, troche informacji na temat zdjec i SQL by sie przydalo :)

Nastepnie robisz sobie to menu w taki sposob, ze umieszczasz tam np GridView albo DetailsView, a jako zrodlo wybierasz sobie tabele GALERIE - wyswietlac Ci teraz bedzie galeriaId, galeriaNazwa i galeriaOpis. We wlasciwosciach wyrzucasz pola id i opis, nastepnie dodajesz HyperlinkField i jako NavigateUrlFields wstawiasz galeriaId a jako DataNavigateUrlFormatString wstawiasz zdjecia.aspx?galeriaId=‹0› To Ci stworzy klikalnego linka, ktory kolejno prowadzic bedzie do strony zdjecia.aspx o paramatrze galeriaId=‹X›

Teraz strona zdjecia.aspx. Znowu dajesz GridView albo DetailsView i jako zrodlo dajesz, zeby pobral dane z tabeli ZDJECIA, ale dajesz warunek, ze kolumna w tabeli ZDJECIA (galeriaId) ma byc rowne QueryString i jako QueryStringField wpisujesz galeriaId.

W ten sposob pobierasz parametr z adresu URL, SqlDataSource na stronie zdjecia.aspx bedzie mniej wiecej wygladal tak:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NazwaPolaczeniaDoBazyZdefiniowaneWwebconig%>"
SelectCommand="SELECT * FROM [zdjecia] WHERE ([galeriaId] = @galeriaId)">
<SelectParameters>
<asp:QueryStringParameter Name="galeriaId" QueryStringField="galeriaId" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
Oczywiscie do tego wszystkiego trzeba miec VisualWebDeveloper i SQLExpress (oba darmowe do sciagniecia) albo VisualStudio 2005 i SQL (platne :) )

Wiecej pomocy znajdziesz tutaj:


Darmowy hosting ASP.Net i SQL :

Mam nadzieje, ze pomoglem choc troche :)

04.06.2006
15:07
[3]

Toolism [ GameDev ]

dzieki:D Owszem, zrobiłem już tak że każdy link prowadzi do tej samej strony ale jako query stringa podaje swoj ID ( w tym wypadku ID galerii.. czyli po kliknieciu na Galerie 0 w query string wygląda tak

href = Gallery.aspx?ID_Gal=0

i teraz moge te query stringi odbierać na następnej stronie i łądnie wyrzucać to co chce. Thx.. próbuję dalej może się uda!:D

04.06.2006
15:18
[4]

Toolism [ GameDev ]

Ha! działa!:D
teraz pojawia się kolejny problem..;) miniaturki zdjęć.
Chciałbym żeby przy dodawaniu do bazy miniaturka zdjęcia generowała się automatycznie.. wiem że pewnie bedzie sie to wiązało z napisaniem tego własnoręcznie w C# ale chodzi mi generalnie o pomysł..? Czego używać, jak to rozwiązać? Czy istnieje może jakieś darmowe gotowe rozwiązanie?

Najłatwiejsze byłoby po prostu robienie miniaturki samemu;) ale takie rozwiązanie jest niezbyt optymalne..;) hehe

04.06.2006
15:20
[5]

Grzesiek [ - ! F a f i k ! - ]

Poszukaj na forach tych linków co Ci dałem - dużo pomocy też znajdziesz na msdn.com :)

04.06.2006
15:22
[6]

Toolism [ GameDev ]

Grzesiek -> hehe wiesz że na uczelni przedmiotu na który robie ten projekt (TIN - Technologie Internetowe ) uczą właśnie ludzie z Code Guru?:) Moim ćwiczeniowcem jest Tomasz Wardziak:) jeden z założycieli code-guru:D

A co do resizowania owszem już zacząłem szukać, jeszcze raz dzięki:D

© 2000-2024 GRY-OnLine S.A.