En iyi yanıtlayıcılar
Asp.net Url Rewriting ID yi kaldırmak Örnek : /deneme-makale.html olarak çekmek

Soru
-
merhabalar
Asp.net Url Rewriting ID yi kaldırmak Örnek : /deneme-makale.html olarak çekmek
şu anda örnek olarak : /1-deneme-makale.html oarak çekiyor. ben 1 nolu id değerini kaldırıp sadece /deneme-makale.html çeksin sitiyorum bunu nasıl yapabilirim ?
Global.asax kodu :
protected void Application_BeginRequest(object sender, EventArgs
string DosyaYolu = Request.RawUrl;// Burada Dosyanın Yolu Alınır
if (DosyaYolu.IndexOf("") != -1)
{
if (System.IO.Path.GetExtension(DosyaYolu) == ".html")
{
string[] path = System.IO.Path.GetFileName(DosyaYolu).Split('-');//HaberID sini alıyoruz
Context.RewritePath("~/Sayfa2.aspx", "", "KategoriID=" + path[0], true);
}
}
}- Düzenleyen Asp.Net24 5 Ekim 2012 Cuma 20:56
Yanıtlar
-
string KATEGORIID = Request.QueryString["KategoriID"].ToString();
burda sen ordaki ID yi alıp
select * from Tbl_Kategoriler where KategoriID=@KategoriID
burda o id yi göre veri çekiyorsun, eğer kaldırırsan ilk satır boşa çıkacak ve kullanılmaz olacak o yüzden ID yi kaldırmadan önce başka unique(eşsiz,tekrarlamayacak) bir değer kullanman gerekecek bu bir string olabilir ve verini kategori id ye göre değil o stringe göre çekeceksin ki onu kaldırabilesin, bilmem anlatabildim mi- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 11 Ekim 2012 Perşembe 14:47
Tüm Yanıtlar
-
Selam,
Linklerdeki sayıları ve - işaretini kaldır, Sayfa2.aspx dosyanda muhtemelen Page_Load içerisinde
int id; id= Request.QueryString["KategoriID"]; . . . "select * from makaleler where kategori_ID="+id;
gibi satırların olması lazım (komple kafamdan attım böyle bişeyler olabilirde olmayabilirde.)
mantık olarak aşağıdaki gibi yapman lazım.
string id=""; id= Request.QueryString["KategoriID"]; . . . "select * from makaleler where kategori_adi_smart='"+id+"'";
Global.asax kodu'nu da aşağıdaki gibi değiştirmen lazım.
protected void Application_BeginRequest(object sender, EventArgs string DosyaYolu = Request.RawUrl;// Burada Dosyanın Yolu Alınır if (DosyaYolu.IndexOf("") != -1) { if (System.IO.Path.GetExtension(DosyaYolu) == ".html") { string path = DosyaYolu;//HaberID sini alıyoruz Context.RewritePath("~/Sayfa2.aspx", "", "KategoriID=" + DosyaYolu.Replace(".html",""), true); } } }
"Basitçe açıklayamıyorsan eğer, yeterince anlayamamışsındır." Alb. Einstein
http://www.tiravoglu.com- Düzenleyen Ergin Tıravoğlu 5 Ekim 2012 Cuma 22:13
-
-
SAYFA2.ASPX
protected void Page_Load(object sender, EventArgs e)
{
string KATEGORIID = Request.QueryString["KategoriID"].ToString();
string baglan = WebConfigurationManager.ConnectionStrings["BaglantiDB"].ConnectionString;
SqlConnection baglanti = new SqlConnection(baglan);
baglanti.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = baglanti;
cmd.CommandText = "select * from Tbl_Kategoriler where KategoriID=@KategoriID";//O ID ye ait olan bilgileri aldık
cmd.Parameters.AddWithValue("@KategoriID", KATEGORIID);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
if (dt.Rows.Count > 0)
{
lblkategoriid.Text = dt.Rows[0]["KategoriID"].ToString();
}
baglanti.Close();
}GLOBAL.ASAX
string DosyaYolu = Request.RawUrl;// Burada Dosyanın Yolu Alınır
if (DosyaYolu.IndexOf("") != -1)// Eğer dosya yolunda -KemalBurakYilmaz geçerse aşağıdaki işlemleri yapar
{
if (System.IO.Path.GetExtension(DosyaYolu) == ".html")//Burada dosya yolumuzu belirtiyoruz.
{
string[] path = System.IO.Path.GetFileName(DosyaYolu).Split('-');//HaberID sini alıyoruz
Context.RewritePath("~/Sayfa2.aspx", "", "KategoriID=" + path[0], true);//Makale sayfamıza gönderiyoruz
}
}NE GİBİ VE NERELERDE DEĞİŞİKLİK YAPMAM GEREK ? YARDIMCI OLURSANIZ SEVİNİRİM ÖNEMLİ BİR KONU !
-
string KATEGORIID = Request.QueryString["KategoriID"].ToString();
burda sen ordaki ID yi alıp
select * from Tbl_Kategoriler where KategoriID=@KategoriID
burda o id yi göre veri çekiyorsun, eğer kaldırırsan ilk satır boşa çıkacak ve kullanılmaz olacak o yüzden ID yi kaldırmadan önce başka unique(eşsiz,tekrarlamayacak) bir değer kullanman gerekecek bu bir string olabilir ve verini kategori id ye göre değil o stringe göre çekeceksin ki onu kaldırabilesin, bilmem anlatabildim mi- Yanıt Olarak İşaretleyen Ali Rıza İnceoğlu 11 Ekim 2012 Perşembe 14:47