Başlangıç

Visual Studio 2013 Asp.NET ile css açılır menü yapma (html5, mysql veritabanı ve datarepeater kullanarak)

Yorum bırakın


Önce Mysql kullanabilmek için gerekli eklemeleri yapın.

Nasıl olduğunu okumak için tıklayın.

Daha sonra ilgili veritabanını mysql ile oluşturun. Ayarları yaptınız ise sql dosyası örneği aşağıdaki rar dosyasında vardır.

Nasıl ayarlandığını okumak için tıklayın.

2015-08-21 01-09-24 Ekran görüntüsü

İstediğiniz bir css menüyü internetten indirin veya ekteki rar dosyasını kullanın.

rar dosyasını indirmek için tıklayın.

simdi içerisindeki css dosyasını şekildeki gibi çalışma ortamınıza alın.

2015-08-21 01-25-26 Ekran görüntüsü

default.aspx dosyasının içeriği;

<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Default.aspx.cs” Inherits=”_Default” %>

<!DOCTYPE html>

<html xmlns=”http://www.w3.org/1999/xhtml”&gt;
<head runat=”server”>
<title></title>
<link href=”stil.css” rel=”stylesheet” />
</head>
<body>
<form id=”form1″ runat=”server”>

<asp:Repeater ID=”Repeater1″ runat=”server” OnItemDataBound=”Repeater1_ItemDataBound”>
<HeaderTemplate><ul id=”menu”></HeaderTemplate>
<ItemTemplate>
<li><a href=”<%# Eval(“link”) %>”><%# Eval(“ad”) %></a>
<asp:Repeater ID=”Repeater2″ runat=”server”>
<HeaderTemplate><ul></HeaderTemplate>
<ItemTemplate><li><a href=”<%# Eval(“link”) %>”><%# Eval(“ad”) %></a></li></ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>

</form>
</body>
</html>

default.aspx.cs dosyasının içeriği;

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data;
using MySql.Data.MySqlClient;

public partial class _Default : System.Web.UI.Page
{
MySqlConnection baglanti = new MySqlConnection();
MySqlCommand sqlkomut = new MySqlCommand();
MySqlConnection baglanti2 = new MySqlConnection();
MySqlCommand sqlkomut2 = new MySqlCommand();
protected void Page_Load(object sender, EventArgs e)
{
baglanti.ConnectionString = “Server=localhost;User Id=root; Password=xxkendisifrenizxx; Database=deneme_db; Pooling=false”;
baglanti.Open();
sqlkomut.Connection = baglanti;
sqlkomut.CommandText = “select * from kategori”;
MySqlDataAdapter adaptergonder = new MySqlDataAdapter(sqlkomut);
DataTable ds = new DataTable();
adaptergonder.Fill(ds);
Repeater1.DataSource = ds;
Repeater1.DataBind();
baglanti.Close();

}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//try
//{
Repeater rp = (Repeater)e.Item.FindControl(“Repeater2”);
string sqlstring2 = “SELECT * FROM altkategori WHERE kategoriid='” + DataBinder.Eval(e.Item.DataItem, “id”).ToString()+”‘”;
baglanti2.ConnectionString =
“Server=localhost;User Id=root; Password=xxkendisifrenizxx; Database=deneme_db; Pooling=false”;
baglanti2.Open();
sqlkomut2.Connection = baglanti2;
sqlkomut2.CommandText = sqlstring2;
//Response.Write(sqlstring2);
MySqlDataAdapter adaptergonder2 = new MySqlDataAdapter(sqlkomut2);
DataTable dt = new DataTable();
adaptergonder2.Fill(dt);
if (dt.Rows.Count == 0)
{
rp.DataSource = null;
rp.DataBind();

}
else if (dt.Rows.Count > 0)
{
rp.DataSource = dt;
rp.DataBind();
}
baglanti2.Close();
/*}
catch
{
;
}
finally
{
;
}*/
}
}
}

Kodlamada değişik html5 ve css menülerle birlikte isterseniz jquery menuleri, sliderları da kullanabilirsiniz. Ama menü kodları karıştıkça kodlamalarda da değişiklikler yapmak gerekir.

2015-08-21 01-11-52 Ekran görüntüsü

şekildeki gibi bir menü  karşınıza gelir. Kullanılan css menu http://mintik.com adresinden rastgele alınmıştır. örnek olarak verilmiştir.

Asp.Net c# ile if Yapısı Kullanımı Konu Anlatımı

Yorum bırakın


I. Kullanımı

if (şart)//true veya false üretir.

{

Şart doğru ise yapılacaklar

};

Uygulama:else kullanılmadan sadece şart doğru ise;

int a=5;

int b = 10;

if (a > b)

{

Response.Write(“A Sayısı daha büyüktür.”);

}

not: Bu kullanımda program sadece sartın doğruluğunu kabul eder diğer durumların ne olduğu ile ilgilenmez. Yani A sayısının büyük olma şartı vardır. A sayısı ile olabilecek diğer durumlar göz ardı edilmiştir.

II. Kullanımı

if (şart)//true veya false üretmeli

{

Şart doğru ise yapılacaklar

}else

{

Şart yanlış ise yapılacaklar

};

Uygulama:else ile birlikte kullanımı;

int a=5;

int b = 10;

if (a > b)

{

Response.Write(“A Sayısı daha büyüktür.”);

} else

{

Response.Write(“A Sayısı daha büyük değildir.”);

}

not: Bu durumda kod sadece iki durumu denetler oluşabilecek diğer durumları denetlemez. örneğin A sayısı diğer sayıya eşitse sonuç üretmez.

III. Kullanımı

if (şart)//true veya false üretmeli

{

Şart doğru ise yapılacaklar

}else if(yeni koşul)

{

Yeni koşul doğru ise yapılacaklar

} else if(yeni koşul2)

{

Yeni koşul2 doğru ise yapılacaklar

} else if(yeni koşul3)

{

Yeni koşul3 doğru ise yapılacaklar

}else

{

Yukarıdaki koşulların hiç biri sağlanmazsa yapılacaktır.

};

Uygulama:else if ile birlikte kullanımı eğer birden fazla şart var ise kullanılır;

int a=5;

int b = 10;

if (a > b)

{

Response.Write(“A Sayısı daha büyüktür.”);

} else if (a<b)

{

Response.Write(“A Sayısı küçüktür”);

}else if (a=b)

{

Response.Write(“A Sayısı B Sayısı eşittir”);

}else

{

Response.Write(“Yanlış Giriş”);

}

not: bu durumda olası tüm durumlar için if yapısı bir sonuç çıkartır.else if(yeni koşuln) artırılarak ihtimaller istenildiği kadar artırılır

Asp.Net ile XML Dosyasını Listeleme -3

2 Yorum


 Bir Asp.Net Web Site oluşturunuz. Ve xmlverilisteleme.aspx isimli bir sayfa oluşturdum. Sayfa içine bir adet buton ve bir adet label ve iki adette Listbox yerleştirdim. Daha önceki konuda içine veri eklediğimiz xml dosyasına okumak için  Butona tıklayarak aşağıdaki kodu yazdım.

xmlresim3

using System.Xml;
using System.IO;//Bu namespaceleri mutlaka ekleyin.

protected void Button1_Click(object sender, EventArgs e)
{
if (File.Exists(Server.MapPath(“xml/KullaniciBilgirapor.xml”)))
{
ListBox1.Items.Clear();
ListBox2.Items.Clear();//her yüklemede üst üste yazmaması için listbox temizlenir
ListBox1.Items.Add(new ListItem(“Kullanıcı Adı”,”0″));//listbox1 sutun başlığı
ListBox2.Items.Add(new ListItem(“Limit”, “0”));//listbox2 sutun başlığı
XmlDocument belge = new XmlDocument();
belge.Load(Server.MapPath(“xml/KullaniciBilgirapor.xml”));//raporumuz alındı
XmlElement root = belge.DocumentElement;
XmlNodeList kayitlar = root.SelectNodes(“/Rapor/Kullanicilar”);//okunacak node elementleri seçildi.

ListItem listkulad, listlimit;
foreach (XmlNode dugum in kayitlar)//Xml içindeki tüm kayıtlar dönülür
{
listkulad = new ListItem();//listbox1 eklenecek lisitemler
listlimit = new ListItem();//listbox2 eklenecek lisitemler
listkulad.Text=dugum[“KullaniciAdi”].InnerText;//node[“KayıtAdı”].InnerText ile istenilen kayıtlar alınır
listkulad.Value = dugum[“KullaniciAdi”].InnerText;
listlimit.Text=dugum[“Limit”].InnerText;
listlimit.Value = dugum[“Limit”].InnerText;
ListBox1.Items.Add(listkulad);//listbox elemanları arasına eklendi
ListBox2.Items.Add(listlimit);
}

Label1.Text = “Toplam açılan kullanıcı sayısı : ” + kayitlar.Count.ToString();//kayitlar.Count ile xml içindeki toplam kayıt sayısı okunabilir.
}
else
{
Label1.Text = “Rapor bulunamadı !”;
}
}

Asp.Net ile XML Dosyasına Ekleme Yapma -2

3 Yorum


 Bir Asp.Net Web Site oluşturunuz. Ve xmldosyayakayitekle.aspx isimli bir sayfa oluşturdum. Sayfa içine bir adet buton ve bir adet label yerleştirdim. Daha önceki konuda oluşturduğumuz xml dosyasına yazmak için  Butona tıklayarak aşağıdaki kodu yazdım.

xmlresim2

using System.Xml;
using System.IO;//Bu namespaceleri mutlaka ekleyin.

protected void Button1_Click(object sender, EventArgs e)
{
if (File.Exists(Server.MapPath(“xml/KullaniciBilgirapor.xml”)))
{
XmlDocument belge = new XmlDocument();
belge.Load(Server.MapPath(“xml/KullaniciBilgirapor.xml”));
XmlElement UserElement = belge.CreateElement(“Kullanicilar”);//element ekledik
UserElement.SetAttribute(“id”, Guid.NewGuid().ToString());//elemente bir attribute atadık

XmlElement kullaniciadi = belge.CreateElement(“KullaniciAdi”);//Kullanicilar elementi içine bir kayıt ekledik
kullaniciadi.InnerText = “admin”;//kayıt için değer atadık
UserElement.AppendChild(kullaniciadi);//kayıt için parent atadık (UserElemet parenti)

XmlElement kullanimlimit = belge.CreateElement(“Limit”);//Kullanicilar elementi içine bir kayıt ekledik
kullanimlimit.InnerText = “5”;//kayıt için değer atadık
UserElement.AppendChild(kullanimlimit);//kayıt için parent atadık (Kullanicilar parenti)

belge.DocumentElement.AppendChild(UserElement);//xml dosyamıza element ve kayıtları ekledik

XmlTextWriter xmleEkle = new XmlTextWriter(Server.MapPath(“xml/KullaniciBilgirapor.xml”), null);//xml dosyamıza fiziksel olarak kayıtları yazıyoruz
xmleEkle.Formatting = Formatting.Indented;
belge.WriteContentTo(xmleEkle);//kayıtlar eklendi
xmleEkle.Close();//dosya kapatıldı
Label1.Text = “Kayıtlar Eklendi”;
}
else
{
Label1.Text=”Rapor dosyası bulunamadı.”;
}
}

Asp.Net ile XML Dosyası Oluşturma -1

3 Yorum


XML genel amaçlı etiket tabanlı dildir. XML ile uygulamalar arasında veri aktarmak ve saklamak için çok kolaydır. HTML dilinin, bir alt kümesidir SGML (Standard Generalized Markup Language). XML platformdan bağımsız bir dildir. XML biçimlendirilmiş bilgileri herhangi bir platformda (İşletim Sistemleri) kullanılabilir. XML kendini tanımlayan bir dildir ve içerdiği bilgileri belirlemek için verilerin yanı sıra kuralları verir.

XML bünyesindeki veriyi biçimlendirmek için XSL ve CSS gibi çeşitli biçimlendiriciler kullanılır ve bunlar servera gelmeden dönüşüm sağlayarak serverın üzerine düşen yükü azaltırlar.

XML dosyaları veri içeren etiketlerden oluşur. Genellikle başlangıç ​​etiketi ve bitiş etiketi verileri tutmak için kullanılır. Bir XML etiket adı “Başlık” oluşturmak istiyorsanız Örneğin, başlangıç ​​etiketi gibi <Baslik> ve bitiş etiketi gibi </ Baslik> . Siz bu etiketler arasına bilgi doldurabilirsiniz.

 <Baslik> Başlık İçerik </ Baslik>

Bir XML dosyası oluştururken, bazı önemli noktaları hatırlamak zorundayız:

* XML küçük harfe duyarlıdır

 <Baslik> <baslik> olarak aynı değildir .

* Etiketler açıldıkları bu ters sırada kapatılmalıdır

 Burada <birinci etiket> <ikinci etiket> Veri </ ikinci etiket> </ birinci etiket>

Örnek XML Dosya

<?xml version=”1.0″?>
<!–Kullanıcı Bilgileri Detayları Raporu–>

<uyeler>

  <uye id="1">
      <ad>A</ad>
      <soyad>B</soyad>
  </uye>
  <uye id="2">
      <ad>C</ad>
      <soyad>D</soyad>
  </uye>
  <uye id="5">
      <ad>E</ad>
      <soyad>F</soyad>
  </uye>
  <uye id="8">
      <ad>G</ad>
      <soyad>H</soyad>
  </uye>
</uyeler>

Sonuç olarak Bir Asp.Net Web Site oluşturunuz. Ve xmlolustur.aspx isimli bir sayfa oluşturdum. Sayfa içine bir adet buton ve bir adet label yerleştirdim. Ana dosyaların bulunduğu klasörde xml adında bir klasör oluşturdum. Butona tıklayarak aşağıdaki kodu yazdım.

xmlresim1

using System.Xml;
using System.IO;//Bu namespaceleri mutlaka ekleyin.

protected void Button1_Click(object sender, EventArgs e)
{
if (!File.Exists(Server.MapPath(“xml/KullaniciBilgirapor.xml”)))//dosya yoksa
{
try
{
XmlTextWriter xmlolustur = new XmlTextWriter(Server.MapPath(“xml/KullaniciBilgirapor.xml”), null);//ilk parametre dosyanın oluşturulacağı yol, ikinci parametre encoding dil kodlama

xmlolustur.WriteStartDocument();//xml içinde element oluşturma işlemine başlandı

xmlolustur.WriteComment(“Kullanıcı Bilgileri Detayları Raporu”);//dosya içine bir açıklama satırı eklendi

xmlolustur.WriteStartElement(“Rapor”);//bir etiket oluşturduk

xmlolustur.WriteEndDocument();//element oluşturma işlemi bitti
Label1.Text = “Dosya Oluşturuldu”;
xmlolustur.Close();//dosya oluşturuldu ve işlemler tamamlandı
}
catch {
Label1.Text = “Dosyada Hata oldu. Lütfen Tekrar Deneyin”;
}
}
}

Böylece Xml Dosyası Oluşmuş oldu. Bir Sonraki Konuda Dosyaya yazma ve Listleme İşlemlerini yapacağız.

Asp.NET İle BOT Yapımı (Sadece Belli Etiketler Arası Çekme, Haber Bot Yapımı)

Yorum bırakın


Asp.NET İle BOT Yapımı (Sadece Belli Etiketler Arası Çekme) örneğin bir haber sayfasından öne çıkan haberleri almak istiyorsunuz. Bunun için bir önceki konuda anlatılanlara ek olarak bazı string fonksiyonlardada yararlanarak bir haber botu yapabiliriz.

Bunun için sayfaya bir adet buton, 1 adet text kutusu, 1 adet label nesnesi yerleştirdim.

  • haberbotyapimi.aspx sayfasındaki nesnelerin kodları;

<asp:TextBox runat=”server” id=”txtAdres”></asp:TextBox>

<asp:Button ID=”btnVeriCek” runat=”server” Text=”Veri Çek”
onclick=”btnVeriCek_Click” />
<br />
<asp:Label ID=”lblGelenVeri” runat=”server”></asp:Label>

bothabercek

  • haberbotyapimi.aspx.cs sayfamızda uygun namespaceleri eklemeyi unutmayın;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Globalization;
using System.IO;
using System.Text;

// daha sonra butona tıkladığınızda oluşan btnVeriCek_Click olayındaki kodlar şöyle olacak.

protected void btnVeriCek_Click(object sender, EventArgs e)
{
string adresal = “http:// + txtAdres.Text;
WebResponse GelenCevap;
WebRequest adresistegi = HttpWebRequest.Create(adresal);
GelenCevap = adresistegi.GetResponse();
//CultureInfo tr = new CultureInfo(“tr-TR”);//dil ayarı yapmak için kapattığım bu iki satırda kullanılabilir. ama ben aşağıdaki gibi kullandım
//StreamReader SayfaKaynakBilgisi = new StreamReader(GelenCevap.GetResponseStream(), Encoding.GetEncoding(tr.TextInfo.ANSICodePage));
StreamReader SayfaKaynakBilgisi = new StreamReader(GelenCevap.GetResponseStream(), Encoding.GetEncoding(“utf-8”));//dil problemi olmaması için sayfaların kaynak kodundan kullandığı sistemi öğrenin ve yazın (Encoding.GetEncoding(“ISO-8859-1”) )kaynak kodu alma
string kaynakbilgiyial = SayfaKaynakBilgisi.ReadToEnd();
int HaberBaslangic = kaynakbilgiyial.IndexOf(“<td class=\”ana_haber_adi\”>”)-137;//Başlangıç noktası kaynak sayfamdaki kodlarda belirleyici etiket sayısı azdı onun için haberlerin bulunduğu belirleyici noktadan <table> etiketine kadar geri gidip tablo başına ulaşmaya çalıştım. burası alınacak sayfanın kaynak kodlarına göre değişir.
int HaberBitis = kaynakbilgiyial.Substring(HaberBaslangic).IndexOf(“SON HABER YORUMLARI”)-125;//yukarıdaki açıklama burası içinde geçerli. burada yukara belirlenen başlangıç noktsından itibaren nereye kadar alınacağı  belrleniyor. burası alınacak sayfanın kaynak kodlarına göre değişir.
string IstenenBolum =kaynakbilgiyial.Substring(HaberBaslangic, HaberBitis);
IstenenBolum = IstenenBolum.Replace(“src=\””, “src=\”http://www.turkegitimsen.org.tr/);//sayfada yollar kısa yazılmıştı bende resimleri göstersin diye tüm yolları uzun olarak değiştirdi. burası alınacak sayfanın kaynak kodlarına göre değişir.
lblGelenVeri.Text = IstenenBolum;
}

Ben denedim güzel bir uygulama oldu. Yukarıdaki örnek dil ayarları ve etiket aralığı kısmı alınacak kaynak sayfa  ya göre bakılarak değiştirilmeli ve dil ayarları da sayfaya göre ayarlanmalıdır.

Asp.NET İle BOT Yapımı (Sayfa Başlığını Çekme)

Yorum bırakın


Sayfada iki etiket arasını çekebilirsiniz. Önce basit olan <title> etiketleri arasını çekelim. Sayfaya 2 adet textbox, 1 tane de button yerleştirelim.

  • Oluşan vericekme1.aspx sayfasının kodları;

<br />
Adres:Http://<asp:TextBox ID=”txtAdresBilgisi” runat=”server” Height=”16px”
Width=”289px”></asp:TextBox>
<br />
Başlık Bilgisi:<asp:TextBox ID=”txtGelenVeri” runat=”server” Height=”21px”
Width=”448px”></asp:TextBox>
<br />
<asp:Button ID=”btnVeriCek” runat=”server” onclick=”btnVeriCek_Click”
Text=”Veri ÇEK” />
botbaslikcek

  • vericekme1.aspx.cs sayfasının kod bölümünde bazı namespaceler mutlaka eklenmeli;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Globalization;
using System.IO;
using System.Text;// bu namespacelerden eksik olanları ekleyin.

// daha sonra butona tıkladığınızda oluşan btnVeriCek_Click olayındaki kodlar şöyle olacak.

protected void btnVeriCek_Click(object sender, EventArgs e)
{
string adresal = “http:// + txtAdresBilgisi.Text;// adres bilgisinde http:// olmadığını düşüdük varsa silerek yazın ve ya kontrol kodları ekleyin
WebResponse GelenCevap;
WebRequest adresistegi = HttpWebRequest.Create(adresal);
GelenCevap = adresistegi.GetResponse();
StreamReader SayfaKaynakBilgisi = new StreamReader(GelenCevap.GetResponseStream(), Encoding.GetEncoding(“utf-8”));//dil problemi olmaması için sayfaların kaynak kodundan kullandığı sistemi öğrenin ve yazın Encoding.GetEncoding(“ISO-8859-1”) kaynak kodu alma
string kaynakbilgiyial = SayfaKaynakBilgisi.ReadToEnd();
int titlebaslangic = kaynakbilgiyial.IndexOf(“<title>”) + 7;//Kaynak kod içinden başlık kısmını arama
int titlebitis = kaynakbilgiyial.Substring(titlebaslangic).IndexOf(“</title>”);
txtGelenVeri.Text = kaynakbilgiyial.Substring(titlebaslangic, titlebitis);// iki etiket arasında kalan kısmı text kutusunda yazdırdık.
}

Sonuç olarak BOT işleminde kullanacağınız sayfaya göre alınan etiket bilgisini istediğiniz gibi değiştirerek ve ya geliştirerek değişik işlemler yapılabilir.

Older Entries

Bana Silverlight Anlat

meslek lisesi ders notları

Eren ÇOLAK

Yazılım Mühendisi Olmak Yolunda İlerliyor...