string HaberId = "";
public static string HaberAdi = "";
public static string MetaTagDetay = "";
Page_Load ' a
Page.Title = HaberAdi;
Page.MetaDescription = MetaTagDetay;
Page.MetaKeywords = HaberAdi.Replace(" ", ",");
yazıyorum sayfada sorun yok geliyor ama title, metatag ilk etapta göstermiyor sayfayı yenileyince gösteriyor ama başkabir ıd nin bilgilerini çekiyor verileri title, Metatag sayfayı 3 -5 defa yenileyince kendi ıdsinin bilgilerini doğru çekiyor.
doğru olmayan nedir?
eksik yaptığım birşeymi var?
meta tag, title, bir çekiyor bir çekmiyor
4
●705
- 28-10-2013, 15:19:20yazdığım kadar hocam başka yok, masterpage değil direk kendi detay sayfasına ekliyorum
.cs sayfasında stringle aldığım değerleri ekliyorum okadar.
kodların tamamını istiyorsanız
using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; public partial class ilandetay : System.Web.UI.Page { Fonksiyon system = new Fonksiyon(); public static string Resim = ""; string HaberId = ""; public static string HaberAdi = ""; public static string MetaTagDetay = ""; protected void Page_Load(object sender, EventArgs e) { Page.Title = HaberAdi; Page.MetaDescription = MetaTagDetay; Page.MetaKeywords = HaberAdi.Replace(" ", ","); HaberId = Ayarlar.sayikontrol(Ayarlar.Temizle(RouteData.Values["HaberId"].ToString())); Mansetler(); DataRow dr = system.GetDataRow("Select * from Haberler Where HaberId=" + HaberId); if (dr != null) { HaberAdi = dr["Baslik"].ToString(); MetaTagDetay = dr["Detay"].ToString(); ltrlBaslik.Text = HaberAdi; ltrlDetay.Text = dr["Detay"].ToString(); if (dr["Onay"].ToString() == "1") ltrlDetay.Text += "<br /><br />Onay"; if (dr["Vitrin"].ToString() == "1") ltrlDetay.Text += "<br /><br />Vitrin"; if (dr["Manset"].ToString() == "1") ltrlDetay.Text += "<br /><br />Manset"; if (dr["Krediyeuygun"].ToString() == "1") ltrlKrediyeuygun.Text += "<img src='img/okey.jpg" + "' align='left' hspace='5' />Krediye Uygun"; if (dr["Takasaacik"].ToString() == "1") ltrlTakasaacik.Text += "<img src='img/okey.jpg" + "' hspace='5' />Takas Olur"; ltrlEklenmeTarihi.Text = dr["EklenmeTarihi"].ToString(); ltrlFiyati.Text = dr["Fiyat"].ToString(); ltrlBanyosayisi.Text = dr["Banyosayisi"].ToString(); ltrlOdasayisi.Text = dr["Odasayisi"].ToString(); ltrlMetrekare.Text = dr["Metrekare"].ToString(); ltrlBinayasi.Text = dr["Binayasi"].ToString(); ltrlBinadakikatsayisi.Text = dr["Binadakikatsayisi"].ToString(); ltrlBulundugukat.Text = dr["Bulundugukat"].ToString(); ltrlKullanimdurumu.Text = dr["Kullanimdurumu"].ToString(); ltrlIsitma.Text = dr["Isitma"].ToString(); ltrlHit.Text = dr["Hit"].ToString(); ltrlFiyati.Text = dr["Fiyat"].ToString(); system.cmd("Update Haberler set Hit=Hit+1 Where HaberId=" + HaberId); } else Response.Redirect("Default.aspx"); } void Mansetler() { DataTable dt = system.GetDataTable("Select HaberId,Resim from HaberResimleri where HaberId=" + HaberId); if (dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; if (dr != null) { Resim = "<img src='HaberResimleri/150/" + dr["Resim"].ToString() + "' align='left' hspace='5' /> "; } } rptSlayt.DataSource = dt; rptSlayt.DataBind(); } public string Resimler() { string donen = string.Empty; string resim = "<a href='HaberResimleri/800/{0}' rel='lightbox'><img src='HaberResimleri/150/{0}' hspace='5' /></a>"; SqlConnection baglanti = system.baglan(); SqlCommand cmd = new SqlCommand("select * from HaberResimleri where HaberId=" + HaberId, baglanti); var dr = cmd.ExecuteReader(); while (dr.Read()) { donen += string.Format(resim, dr["Resim"]); } return "<div style='display:block;margin-bottom:15px;text-align:center;'>" + donen + "</div>"; } } - 28-10-2013, 23:13:541. Page_Load içerisinde neden if(!isPostBack) kontrolün yok. Sayfa her postback olduğunda aynı şeyleri tekrar tekrar yüklüyorsun.
Ek olarak debug yapmıyor musun kodunu? Page_Load'a bir debug point koyup çok rahat bir şekilde hatanı görebilirsin.
2. HaberAdi, MetaTagDetay gibi değişkenlerin Page_Load'a ilk girdiğinde zaten null. Yazmaması gayet normal. Onları DataRow'u doldurduktan sonra yazdırıyorsun ve 2. yenilemede zaten artık null olmadığından yazdırıyor.
Doğru kullanım şekli:
protected void Page_Load(object sender, EventArgs e) { if(!isPostBack) { HaberId = Ayarlar.sayikontrol(Ayarlar.Temizle(RouteData.Values["HaberId"].ToString())); Mansetler(); DataRow dr = system.GetDataRow("Select * from Haberler Where HaberId=" + HaberId); if (dr != null) { HaberAdi = dr["Baslik"].ToString(); MetaTagDetay = dr["Detay"].ToString(); ltrlBaslik.Text = HaberAdi; ltrlDetay.Text = dr["Detay"].ToString(); Page.Title = HaberAdi; Page.MetaDescription = MetaTagDetay; Page.MetaKeywords = HaberAdi.Replace(" ", ","); if (dr["Onay"].ToString() == "1") ltrlDetay.Text += "<br /><br />Onay"; if (dr["Vitrin"].ToString() == "1") ltrlDetay.Text += "<br /><br />Vitrin"; if (dr["Manset"].ToString() == "1") ltrlDetay.Text += "<br /><br />Manset"; if (dr["Krediyeuygun"].ToString() == "1") ltrlKrediyeuygun.Text += "<img src='img/okey.jpg" + "' align='left' hspace='5' />Krediye Uygun"; if (dr["Takasaacik"].ToString() == "1") ltrlTakasaacik.Text += "<img src='img/okey.jpg" + "' hspace='5' />Takas Olur"; ltrlEklenmeTarihi.Text = dr["EklenmeTarihi"].ToString(); ltrlFiyati.Text = dr["Fiyat"].ToString(); ltrlBanyosayisi.Text = dr["Banyosayisi"].ToString(); ltrlOdasayisi.Text = dr["Odasayisi"].ToString(); ltrlMetrekare.Text = dr["Metrekare"].ToString(); ltrlBinayasi.Text = dr["Binayasi"].ToString(); ltrlBinadakikatsayisi.Text = dr["Binadakikatsayisi"].ToString(); ltrlBulundugukat.Text = dr["Bulundugukat"].ToString(); ltrlKullanimdurumu.Text = dr["Kullanimdurumu"].ToString(); ltrlIsitma.Text = dr["Isitma"].ToString(); ltrlHit.Text = dr["Hit"].ToString(); ltrlFiyati.Text = dr["Fiyat"].ToString(); system.cmd("Update Haberler set Hit=Hit+1 Where HaberId=" + HaberId); } else Response.Redirect("Default.aspx"); } }Tavsiye: Konuların cevaplandıktan sonra değişiklik yapma, seninle aynı sorunu yaşayanlar nasıl çözüldüğünü görsünler. - 28-10-2013, 23:54:29teşekkür ederim hocam,rob33n adlı üyeden alıntı: mesajı görüntüle
sorunsuz çalıştı
tavsiyenizi dikkate alcam.
tekrar teşekkürler