{"id":401,"date":"2010-06-25T11:06:59","date_gmt":"2010-06-25T11:06:59","guid":{"rendered":"http:\/\/www.erbugkaya.com\/?p=401"},"modified":"2014-01-16T23:49:33","modified_gmt":"2014-01-16T23:49:33","slug":"dinamik-web-sitesi-bolum-03-dinamik-link-olusturulmasi","status":"publish","type":"post","link":"http:\/\/erbugkaya.com\/?p=401","title":{"rendered":"Dinamik Web sitesi &#8211; B\u00f6l\u00fcm 03 &#8211; Dinamik Link Olu\u015fturulmas\u0131"},"content":{"rendered":"<p><em>11\/5\/2007<\/em><br \/>\nMerhaba serinin ilk iki makalesinde, FRP Kitap Merkezi sitesinin tasar\u0131m\u0131n\u0131 olu\u015fturmu\u015f, database kurulumu yapm\u0131\u015f ve bu database&#8217;den sayfalar\u0131m\u0131za veri \u00e7ekmi\u015ftik. Bu makalemizde dinamik olarak olu\u015fturdu\u011fumuz listedeki kitaplar\u0131n detay sayfalar\u0131n\u0131 olu\u015fturmay\u0131 ve bu sayfalara dinamik link vermeyi inceleyece\u011fiz.<\/p>\n<p><!--more--><br \/>\nBa\u015flayal\u0131m. Hemen h\u0131zl\u0131ca master page&#8217;den bir sayfa yarat\u0131yoruz. Content alan\u0131n\u0131 aktif hale getirdikten sonra sayfay\u0131 oneBook.aspx olarak kaydediyoruz. (Bu i\u015flemlerin nas\u0131l yap\u0131ld\u0131\u011f\u0131n\u0131 bilmiyorsan\u0131z serinin ilk makalesinde bulabilirsiniz.) Bu sayfada her kitab\u0131n detaylar\u0131n\u0131 g\u00f6sterece\u011fiz. Her seferinde tek bir kayd\u0131 g\u00f6stermek i\u00e7in FormView ideal bir kontrold\u00fcr.<\/p>\n<p>Toolbox&gt;ASP.NET Controls&gt;Data&gt;FormView&#8217;u oneBook.aspx content alan\u0131na s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_01.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_01.jpg\" width=\"208\" height=\"359\" \/><\/a><\/p>\n<p>FormView&#8217;un yan\u0131ndaki oka t\u0131klayarak Common FormView Tasks kutucu\u011funu a\u00e7\u0131yoruz. Choose Data Source&#8217;dan New Data Source&#8217;u se\u00e7iyoruz. Configure Select Statement ekran\u0131na kadar yap\u0131lan ayarlar\u0131 bu serinin ikinci makalesinde bulabilirsiniz. Bu ekranda farkl\u0131l\u0131\u011f\u0131m\u0131z olu\u015facak. &#8220;Specify columns from a table or view&#8221; i\u015faretli iken &#8220;kitapDetay&#8221; \u0131 se\u00e7iyoruz. T\u00fcm kolonlar\u0131 se\u00e7mek i\u00e7in &#8220;*&#8221; i\u015faretliyoruz. \u015eimdi &#8220;WHERE&#8221; butonuna bas\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_02.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_02.jpg\" width=\"348\" height=\"270\" \/><\/a><\/p>\n<p>&#8220;WHERE&#8221; i\u00e7in kural yarataca\u011f\u0131z. Column&#8217;da kitapDetayID&#8217;yi se\u00e7iyoruz. B\u00f6ylece her seferinde sayfada g\u00f6z\u00fckmesi i\u00e7in kitapDetay&#8217;\u0131n ID sini kullanaca\u011f\u0131z. Operator &#8220;=&#8221; olacak. Source i\u00e7in &#8220;QueryString&#8221;i se\u00e7iyoruz. QueryString field&#8217;a kendi belirleyece\u011fimiz bir ismi yazabiliriz.Bu ismi bo\u015fluk, T\u00fcrk\u00e7e karakter ve farkl\u0131 semboller i\u00e7eremeyecek \u015fekilde yaz\u0131yoruz. Default value&#8217;ya ise &#8220;-1&#8221; yaz\u0131yoruz. Bunun sebebi \u015fu; biz ID&#8217;lerimizin 1&#8217;den ba\u015flayarak ilerledi\u011fini biliyoruz. Ama kullan\u0131c\u0131lar e\u011fer kar\u015f\u0131l\u0131\u011f\u0131 olmayan bir linke girerlerse onlara bir mesaj vermek istiyoruz. Bunun i\u00e7inde kullan\u0131lmayaca\u011f\u0131na emin olaca\u011f\u0131m\u0131z bir say\u0131 kullan\u0131yoruz.T\u00fcm ayarlardan ADD butonuna bas\u0131p OK ile bu ekrandan \u00e7\u0131k\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_03.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_03.jpg\" width=\"331\" height=\"249\" \/><\/a><\/p>\n<p>Select Statement&#8217;da yazd\u0131klar\u0131m\u0131z\u0131n sonucu g\u00f6z\u00fckmekte. Next ile devam ediyoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_04.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_04.jpg\" width=\"348\" height=\"270\" \/><\/a><\/p>\n<p>Gelen ekranda &#8220;Test Query&#8221; butonuna bas\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_05.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_05.jpg\" width=\"348\" height=\"270\" \/><\/a><\/p>\n<p>Gelen ekranda Value de\u011fereini 1,2, vs yap\u0131p OK&#8217;e bast\u0131\u011f\u0131n\u0131zda o ID&#8217;li kitapDetay bilgilerinin g\u00f6z\u00fck\u00fcyor olmas\u0131 laz\u0131m.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_06.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_06.jpg\" width=\"218\" height=\"209\" \/><\/a><\/p>\n<p>Sayfan\u0131z\u0131 browserda kontrol ederseniz bo\u015f gelecektir. Ama adres \u00e7ubu\u011funun sonunu oneBook.aspx?one_book=7 \u015feklinde de\u011fi\u015ftirirseniz kitaoDetayID&#8217;si 7 olan bilgilerin geliyor olmas\u0131 laz\u0131m. Peki biz bu sayfada sadece detaylar\u0131 m\u0131 g\u00f6rece\u011fiz, kitaplar\u0131n listesindeki gibi resmi, yazar\u0131, yay\u0131n evi olmayacak m\u0131? \u015eimdi o konuyu halledelim. Bunun i\u00e7in uygun olan y\u00f6ntem &#8220;kitap&#8221; ve &#8220;kitapDetay&#8221; \u015feklindeki iki ayr\u0131 tabloyu tek seferde \u00e7ekebilmek. Bunun i\u00e7in biraz daha kod eklemesi yapaca\u011f\u0131z.<\/p>\n<p>FormView&#8217;un yan\u0131ndaki oka t\u0131klayarak Common FormView Tasks kutucu\u011funu a\u00e7\u0131yoruz. Configure Data Source&#8217;u t\u0131kl\u0131yoruz. Gelen ekran\u0131 NEXT ile ge\u00e7iyoruz. Configure Select Statement ekran\u0131nda &#8220;Specify a custom SQL or stored procedure&#8221;u i\u015faretleyip next&#8217;e bas\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_07.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_07.jpg\" width=\"348\" height=\"270\" \/><\/a><\/p>\n<p>Gelen ekranda Select tab\u0131 se\u00e7iliyken SQL Statement&#8217;e alttaki sat\u0131r\u0131 yaz\u0131yoruz.<\/p>\n<p>SELECT * FROM [kitap] inner join [kitapDetay] on kitap.kitapID=kitapDetay.kitapDetayID WHERE ([kitapDetayID] = @kitapDetayID)<\/p>\n<p>Yukar\u0131daki sat\u0131r\u0131 a\u00e7\u0131klamaya \u00e7al\u0131\u015fay\u0131m. (SELECT * FROM [kitap]) ile kitap table&#8217;\u0131ndaki her \u015feyin se\u00e7ilece\u011fini ve (inner join [kitapDetay]) ile bu se\u00e7ime kitapDetay table&#8217;\u0131ndaki her \u015feyin eklenece\u011fini (on kitap.kitapID=kitapDetay.kitapDetayID) ile ise e\u015fle\u015fmenin kitap table&#8217;n\u0131n kitapID&#8217;si ile kitapDetay table&#8217;n\u0131n kitapDetayID&#8217;si e\u015fit olanlar aras\u0131nda olaca\u011f\u0131n\u0131 bildiriyoruz. WHERE ve sonras\u0131n\u0131 ise Expression Web&#8217;e haz\u0131rlatm\u0131\u015ft\u0131k.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_08.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_08.jpg\" width=\"348\" height=\"270\" \/><\/a><\/p>\n<p>Alttaki ekran\u0131 zaten haz\u0131rlam\u0131\u015ft\u0131k Next ile ge\u00e7iyoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_09.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_09.jpg\" width=\"348\" height=\"270\" \/><\/a><\/p>\n<p>Bu soruya D\u0130KKAT. Burada No dememiz gerekiyor aksi takdirde FormView&#8217;un Edit Template \u00f6zelliklerini kaybedece\u011fiz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_10.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_10.jpg\" width=\"372\" height=\"69\" \/><\/a><\/p>\n<p>Ayn\u0131 sebeple dikkat g\u00f6steriyoruz ve Yes&#8217;e bas\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_11.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_11.jpg\" width=\"503\" height=\"69\" \/><\/a><\/p>\n<p>B\u00f6ylece kitapla ilgili her bilgiyi \u00e7ekmi\u015f olduk.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_12.jpg\" width=\"242\" height=\"225\" \/><\/p>\n<p>\u015eimdi Edit Template&#8217;i se\u00e7ip Display; Item Template&#8217;de iken d\u00fczenlemelerimizi yapal\u0131m. kitapID&#8217;yi siliyoruz. kitapIsmi ba\u015fl\u0131\u011f\u0131n\u0131 siliyoruz label&#8217;\u0131 kal\u0131yor. kitapYazar ba\u015fl\u0131\u011f\u0131n\u0131 Yazar olarak de\u011fi\u015ftiriyoruz. kitapImage&#8217;i tamamen siliyoruz. kitapID1&#8217;i siliyoruz. kitapDetayID&#8217;yi siliyoruz. kitapBaskiYili ba\u015fl\u0131\u011f\u0131n\u0131 Bask\u0131 Y\u0131l\u0131 olarak de\u011fi\u015ftiriyoruz. yayinEvi ba\u015fl\u0131\u011f\u0131n\u0131 Yay\u0131n Evi olarak de\u011fi\u015ftiriyoruz. sayfaSayisi ba\u015fl\u0131\u011f\u0131n\u0131 Sayfa Say\u0131s\u0131 olarak de\u011fi\u015ftiriyoruz. aciklama ba\u015fl\u0131\u011f\u0131n\u0131 siliyoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_13.jpg\" width=\"283\" height=\"223\" \/><\/p>\n<p>\u015eimdi Edit Template&#8217;de iken imaj ekliyoruz. \u0130maj ekleme i\u015flemleri i\u00e7in serinin ikinci makalesinden yararlanabilirsiniz.. &#8220;kitapIsmiLabel&#8221; CSS&#8217;den .boldText&#8217;i uygulay\u0131p sa\u011f\u0131nda bir kez Enter&#8217;a bas\u0131yoruz. Yazar, Bask\u0131 Y\u0131l\u0131, Yay\u0131n Evi, Sayfa Say\u0131s\u0131 ba\u015fl\u0131klar\u0131n\u0131 se\u00e7ip her birine .boldText uyguluyoruz. &#8220;sayfaSayisiLabel&#8221;&#8216;\u0131ndan sonra bir bo\u015fluk b\u0131rak\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_14.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_14.jpg\" width=\"463\" height=\"224\" \/><\/a><\/p>\n<p>Her \u015fey d\u00fczg\u00fcn g\u00f6r\u00fcn\u00fcyor. \u015eimdi sayfa bo\u015f oldu\u011funda ya da yanl\u0131\u015f girildi\u011finde girilecek olan mesaj\u0131 haz\u0131rlayal\u0131m. FormView, Edit Templates&#8217;i a\u00e7\u0131yoruz. Display olarak EmptyDataTemplate&#8217;i se\u00e7iyoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_15.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_15.jpg\" width=\"304\" height=\"99\" \/><\/a><\/p>\n<p>Bo\u015f alana istedi\u011fimiz mesaj\u0131 yaz\u0131yoruz. Alttaki mesaj i\u00e7in &#8220;buraya t\u0131klay\u0131n\u0131z&#8221;\u0131 se\u00e7ip hyperlink ile bookLists.aspx&#8217;e link veriyoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_16.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_16.jpg\" width=\"295\" height=\"89\" \/><\/a><\/p>\n<p>Sonu\u00e7.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_17.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_17.jpg\" width=\"360\" height=\"153\" \/><\/a><\/p>\n<p>\u015eimdi her kitap tan\u0131t\u0131m\u0131n alt\u0131na da kitap listesine d\u00f6nmek i\u00e7in bir link koyal\u0131m. FormView, Edit Templates&#8217;i a\u00e7\u0131yoruz. Display olarak FooterTemplate&#8217;i se\u00e7iyoruz. Bo\u015f alana i\u00e7erikle aras\u0131nda s\u0131n\u0131r\u0131 belirlemesi i\u00e7in ilk \u00f6nce Toolbox&gt;HTML&gt;Tags alt\u0131ndan Horizontal Line&#8217;\u0131 s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz. Alt\u0131na da mesaj\u0131m\u0131z\u0131 yaz\u0131p gerekli olan kelimeleri bookLists.aspx&#8217;e linkliyoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_18.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_18.jpg\" width=\"296\" height=\"100\" \/><\/a><\/p>\n<p>Sonu\u00e7.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_19.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_19.jpg\" width=\"360\" height=\"155\" \/><\/a><\/p>\n<p>Evet her kitap i\u00e7in detay sayfas\u0131n\u0131 dinamik olarak haz\u0131rlad\u0131\u011f\u0131m\u0131za g\u00f6re \u015fimdi kitaplar\u0131n listesinde her kitaba kendi detay\u0131na linkli olacak \u015fekilde ayarlamal\u0131y\u0131z. Bunun i\u00e7in bookLists.aspx sayfas\u0131n\u0131 tekrar a\u00e7\u0131yoruz. Bu sayfadaki DataList&#8217;in Edit Templates&#8217;ini a\u00e7\u0131yoruz. Item Tepmlate&#8217;e &#8220;kitapIsmiLabel&#8221;\u0131n \u00fcst\u00fcne Toolbox&gt;ASP.NET Controls&gt;Standard&#8217;dan HyperLink&#8217;i s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_20.jpg\" width=\"283\" height=\"195\" \/><\/p>\n<p>HyperLink&#8217;in sa\u011f\u0131ndaki oka t\u0131klayarak Common HyperLink Tasks kutucu\u011funu a\u00e7\u0131yoruz ve buradaki Edit DataBindings&#8217;e tukl\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_21.jpg\" width=\"311\" height=\"167\" \/><\/p>\n<p>Gelen ekranda Bindable Properties&#8217;de ilk \u00f6nce Text&#8217;i se\u00e7iyoruz. Field binding i\u015faretli iken Bound to&#8217;da kitapIsmi&#8217;ni se\u00e7iyoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_22.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_22.jpg\" width=\"318\" height=\"208\" \/><\/a><\/p>\n<p>Bindable Properties&#8217;de bu sefer NavigateUrl&#8217;yi se\u00e7iyoruz. Field binding i\u015faretli olacak. Bound to olarak kitapID&#8217;yi se\u00e7iyoruz. Format&#8217;a oneBook.aspx?one_book={0} sat\u0131r\u0131n\u0131 yaz\u0131yoruz. Ard\u0131ndan OK..<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_23.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_23.jpg\" width=\"318\" height=\"208\" \/><\/a><\/p>\n<p>kitapIsmiLabel&#8217;\u0131n\u0131 siliyoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_24.jpg\" width=\"280\" height=\"145\" \/><\/p>\n<p>Sonu\u00e7. Kitap imaj\u0131n\u0131n yan\u0131nda yine ismi var ama bu sefer kendi detay sayfas\u0131na linkli.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_25.jpg\" width=\"331\" height=\"255\" \/><\/p>\n<p>Buraya kadar her \u015fey yolunda. \u015eimdi bookLists.aspx sayfas\u0131ndaki her kitab\u0131n imaj\u0131n\u0131 g\u00fczel bir teknikle kendi detay\u0131na linkleyelim. Her \u015feyden \u00f6nce DataList&#8217;in Edit Template&#8217;ine basarak Item Template&#8217;ni a\u00e7\u0131yoruz. Buradaki imaj kontrol\u00fcn\u00fc siliyoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_26.jpg\" width=\"274\" height=\"175\" \/><\/p>\n<p>\u0130maj\u0131 sildi\u011fimiz yere tekrar HyperLink s\u00fcr\u00fckleyip Edit DataBindings&#8217;ine t\u0131kl\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_27.jpg\" width=\"282\" height=\"172\" \/><\/p>\n<p>Bindable Properties&#8217;de ImageUrl. Filed binding i\u015faretli Bound to&#8217;da kitapImage&#8217;i se\u00e7iyoruz. Formata images\/books\/thumb\/{0} yaz\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_28.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_28.jpg\" width=\"318\" height=\"208\" \/><\/a><\/p>\n<p>Bindable Properties&#8217;de bu sefer NavigateUrl. Bound to&#8217;da kitapID se\u00e7iyoruz. Format&#8217;a oneBook.aspx?one_book={0} sat\u0131r\u0131n\u0131 yaz\u0131yoruz. Ard\u0131ndan OK..<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_29.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_29.jpg\" width=\"318\" height=\"208\" \/><\/a><\/p>\n<p>B\u00f6ylece her kitab\u0131n imaj\u0131 da kendi detay sayfas\u0131na linklenmi\u015f oldu.<\/p>\n<p>Sonu\u00e7. bookLists.aspx sayfas\u0131.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_30.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_30.jpg\" width=\"360\" height=\"373\" \/><\/a><\/p>\n<p>oneBook.aspx?one_book=4 sayfas\u0131.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_31.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001331_31.jpg\" width=\"360\" height=\"226\" \/><\/a><\/p>\n<p>Bu makalede DataList ile \u00e7ekilmi\u015f verilerin her biri i\u00e7in FormView kullanarak detay sayfas\u0131 olu\u015fturmay\u0131 ve bu veriler i\u00e7in kendi detay\u0131na dinamik olarak link vermeyi anlatt\u0131m.<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar<\/p>\n<p>Te\u015fekk\u00fcrler<\/p>\n","protected":false},"excerpt":{"rendered":"<p>11\/5\/2007 Merhaba serinin ilk iki makalesinde, FRP Kitap Merkezi sitesinin tasar\u0131m\u0131n\u0131 olu\u015fturmu\u015f, database kurulumu yapm\u0131\u015f ve bu database&#8217;den sayfalar\u0131m\u0131za veri \u00e7ekmi\u015ftik. Bu makalemizde dinamik olarak olu\u015fturdu\u011fumuz listedeki kitaplar\u0131n detay sayfalar\u0131n\u0131 olu\u015fturmay\u0131 ve bu sayfalara dinamik link vermeyi inceleyece\u011fiz.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[29],"class_list":["post-401","post","type-post","status-publish","format-standard","hentry","category-teknik-yazi","tag-expression-web"],"_links":{"self":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts\/401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=401"}],"version-history":[{"count":5,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts\/401\/revisions"}],"predecessor-version":[{"id":2540,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts\/401\/revisions\/2540"}],"wp:attachment":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}