Osman KURT

Yazılım Uzmanı | MVC Eğitmeni

ASP.Net le Döviz Kuru Çekmek

İnternet te o kadar çok bu tarz yazı varkı, hepsine baktım çok gereksiz ve kafa karıştırıcı kodlar kullanmışlar arkadaşlar.Bende bu yüzden kısa ve öz bir şekilde size anlatmaya karar verdim alt kısımda vereceğim kodları kulandığınız takdirde sorunsuz bir şekilde döviz kurlarını çekebilirsiniz. İlk olarak default.aspx kodlarımızı yazalım.

<table style="width: 100%; height: 75px">
    <tr>
        <td align="center">Dolar<br />
            <asp:Label ID="Label3" runat="server" Text=""></asp:Label>
            &nbsp;TL
        </td>
        <td align="center">Euro<br />
            <asp:Label ID="Label4" runat="server" Text=""></asp:Label>
            &nbsp;TL
        </td>
    </tr>
</table>

Şimdi ise default.aspx.cs sayfamıza geçelim ve merkez bankası xml dosyasını okuyalım.

XmlDocument xmlVerisi = new XmlDocument();
xmlVerisi.Load("http://www.tcmb.gov.tr/kurlar/today.xml");
decimal dolar = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexSelling", "USD")).InnerText.Replace('.', ','));
decimal Euro = Convert.ToDecimal(xmlVerisi.SelectSingleNode(string.Format("Tarih_Date/Currency[@Kod='{0}']/ForexSelling", "EUR")).InnerText.Replace('.', ','));
Label3.Text = dolar.ToString();
Label4.Text = Euro.ToString();

 

Bu kodlarımızı da yazdıktan sonra işlemimiz tamalanmıştır. Artık sitenizde döviz kurlarını barındırıyorsunuz.

Görüşmwk Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

 

ASP.Net Dosya İşlemeleri

Dosya İşlemleri

Bir ASP.NET uygulamasında dosya sınıfını kullanarak dosyalara erişip, bu dosyalar üzerinden işlem yapmak mümkündür.


Bir ASP.NET uygulamasında dosya sınıfını kullanarak dosyalara erişip, bu dosyalar üzerinden işlem yapmak mümkündür.  Bu işlemler ; dosya oluşturmak, silmek, taşımak, kopyalamak ve bu dosyaları okuyup üzerine yazıp, dosya özelliklerini görebilmektir.
Bu işlemleri yapabilmek için sayanıza  System.IO uzayını eklememiz gerekmektedir.
Dosya Silme
Bir dizin altındaki dosyayı silmek için Delete() metodu kullanılır.
File.Delete(silinecek olan dosyanın yolu)
Silinecek olan dosyanın  yolu fiziksel yol yada  Server.MapPath() kullanarak göreceli yol olarak belirtilebilir.
File.Delete("c:\Projeler\Resimler\aslan1.jpg");
File.Delete(Server.MapPath("../Resimler/aslan.jpg"));
Dosyanın Olup Olmadığını Kontrol Etmek
Bir dosya üzerinde işlem yapmadan önce dosyanın olup olmadığını kontrol etmek isteyebilirsiniz.  Bir dosyayı silmek istendiğinde dosya yoksa çalışma zamanı hatası alınır. File.Exists()  metodu dosyanın olup olamdığını kontrol etmek için kullanılır.
File.Exists(kontrol edilecek olan dosyanın yolu)
Bu metot dosyanın durumuna göre True ya da False döndermektedir.  Aşağıdaki kod önce dosyanın olup olmadığını kontrol edip, dosya varsa silme işlemini gerçekleştirmektedir.
if(File.Exists("Dosya yolu"))
{
  File.Delete("Dosya yolu");
}

Dosya Taşıma
Bir dosyayı bir yerden başka bir yere taşımak mümkündür. Bunun için File.Move() metodu kullanılır.
File.Move("hedef dosya","taşınacak yer");
Hedef dosya taşımak istediğiniz dosyanın yoludur. Taşınacak yer ise dosyanızın taşınacağı yerdir. Eğer hedef dosyanız yoksa ya da taşıyacağınız yerde aynı dosyadan var ise hata alırsınız. Aşağıdaki kod önce taşınacak olan dosyanın olup olmadığını ve taşınacak olan yerde taşınacak dosyadan olup olmadığını kontrol edip, koşullar uygunsa dosya taşınmaktadır.
if((File.Exists(@"c:\Resimler\ozlem.JPG")) && (!File.Exists(@"c:\Resimler2\ozlem.JPG")))
    
{
  File.Move(@"c:\Resimler\ozlem.JPG",@"c:\Resimler2\ozlem.JPG");
}

Dosyayı bir yere taşırken farklı bir isim verirseniz, dosya taşınırken farklı bir isimle taşınmaktadır.
if((File.Exists(@"c:\Resimler\ozlem.JPG")) && (!File.Exists(@"c:\Resimler2\ben.JPG")))
    
{
  File.Move(@"c:\Resimler\ozlem.JPG",@"c:\Resimler2\ben.JPG");
}

Yukarıdaki kod ile ozlem isimli dosya resimler2 dosyasına ben olarak taşınmaktadır.
Dosya Kopyalamak
Dosyalar bir klasörden başka bir klasöre File.Copy() kullanılarak kopyalanabilmektedir.  Copy() metodu ile Move metodunda olduğu gibi dosyalar silinmemektedir.
File.Copy("Hedef dosya","Taşınacak yer");
if((File.Exists(@"c:\Resimler\ozlem.JPG")) && (!File.Exists(@"c:\Resimler2\ozlem.JPG")))
    
{
   File.Copy(@"c:\Resimler\ozlem.JPG",@"c:\Resimler2\ozlem.JPG");
}


Dosya Özellikleri
Dosyalara ait bazı özellikleri öğrenebilmek mümkündür.
GetCreationTime() : Bu metot  dosyanın oluşturulduğu zaman ve tarihi vermektedir.
GetLastAccessTime(): Bu metot dosyaya en son girilen zaman ve tarihi vermektedir.
GetLastWriteTime(): Bu metot dizindeki dosyaya en son yazılan zaman ve tarihi vermektedir.
File.GetCreationTime("Dosya Yolu");
File.GetLastAccessTime("Dosya Yolu");
File.GetLastWriteTime("Dosya Yolu");

ASP.NET 2.0 ile Metin Dosyalarını Okuma ve Yazma
   
StreamReader ve StreamWriter sınıflarını kullanarak; ASP.NET 2.0 da text dosyalarını okuma ve yazma işlemini gösteren basit bir uygulama.
   
Bu makalede StreamReader ve StreamWriter sınıflarını kullanarak; ASP.NET 2.0 da text dosyalarını okuma ve yazma işlemini gösteren basit bir uygulama yapacağız. Dil olarak C# kullandım ama kolaylıkla diğer dillere de çevirebilirsiniz.
   
Herhangi bir text dosyasını System.IO.StreamReader sınıfını kullanarak; bir Textbox kontrolü içinde okumak için aşağıda verdiğim kodu kullanın:
   
System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(Server.MapPath("test.txt"));
TextBox2.Text = StreamReader1.ReadToEnd();
StreamReader1.Close();
   
   
if (System.IO.File.Exists(Server.MapPath("test.txt")))
   
System.IO.StreamWriter sınıfını kullanarak; Textbox kontrolünün içeriğini, bir text dosyasına yazmak için aşağıda verdiğim kodu kullanın:
   
System.IO.StreamWriter StreamWriter1 = new System.IO.StreamWriter(Server.MapPath("test.txt"));
StreamWriter1.WriteLine(TextBox1.Text);
StreamWriter1.Close();

   
Yukarıdaki örnekte StreamWriter sınıfı, eğer dosya daha önceden yaratılmamışsa bir dosya yaratacak; ve eğer yaratılmışsa üzerine yazacak.
   
"\r\n" ekleyerek; text dosyanızda satır başı oluşturabilirsiniz. Kod tarafından satır başı ekleme aşağıdaki kodu kullanarak yapılabilir:
   
StreamWriter1.WriteLine("Some text on line1.\r\nSome text on line2.");
   
Aşağıdaki örnek kod, iki textbox kontrolü içeren bir web sayfasıdır. Üstteki textbox ı düzenleyin ve kayıt butonuna tıklayın. Text dosyası üstteki textbox ın içindeki yazıyı kullanarak yaratılacaktır ve web sayfası ile aynı sanal dizine kaydedilecektir. Yeni oluşuturulan text dosyası daha sonra alttaki textbox içine daha önceden kaydedilen değişiklikleri göstermek için yüklenir.
   
Bu basit örnekte; StreamReader ve StreamWriter sınıflarının kullanılan birçok kullanım çeşidinden sadece birkaçını gösterdik. Bu sınıflar sadece text dosyaları için değil, text dosyası gibi çalışan tüm benzerleri içinde kullanılır. XML, web sayfaları, sınıflar (.cs ya da .vb) ve daha onlarcası bunlara örnektir.
 
 
OkuYaz.aspx
 
<%@ Page Language="C#" %>
   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
   
<script runat="server">
   
    void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TextBox1_Load();
        }
    }
   
    void Button1_Click(object sender, EventArgs e)
    {
        System.IO.StreamWriter StreamWriter1 = new System.IO.StreamWriter(Server.MapPath("test.txt"));
        StreamWriter1.WriteLine(TextBox1.Text);
        StreamWriter1.WriteLine("Line1.\r\nLine2.");
        StreamWriter1.Close();
        TextBox2_Load();
    }
   
    void TextBox1_Load()
    {
        if (System.IO.File.Exists(Server.MapPath("test.txt")))
        {
            System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(Server.MapPath("test.txt"));
            TextBox1.Text = StreamReader1.ReadToEnd();
            StreamReader1.Close();
        }
        else
        {
            TextBox1.Text = "Yeni Dosya.";
        }
    }
   
    void TextBox2_Load()
    {
        if (System.IO.File.Exists(Server.MapPath("test.txt")))
        {
            System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(Server.MapPath("test.txt"));
            TextBox2.Text = StreamReader1.ReadToEnd();
            StreamReader1.Close();
        }
    }
</script>
   
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Text Dosyasini Düzenle</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <b><span style="font-family: Verdana">Text Dosyasini Düzenle</span></b><br />
        <asp:TextBox ID="TextBox1" Runat="server" Width="400px" Height="200px" TextMode="MultiLine"></asp:TextBox><br />
        <asp:TextBox ID="TextBox2" Runat="server" Width="400px" Height="198px" TextMode="MultiLine" Enabled="False"></asp:TextBox><br />
        <asp:Button ID="Button1" Runat="server" Width="60px" Height="20px" Text="Kaydet" OnClick="Button1_Click" />
    </div>
    </form>
</body>
</html>

Görüşmek Üzere

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net ve Linq Kullanımı

Arkadaşlar bu yazımda size asp.net linq mimarisinde ekleme silme güncelleme ve verileri görüntülemeyi gösterecğim.

Projemiz de kullanacağımız veri tabanımız;

 

İsterseniz ilk olarak bir web projesi oluşturalım ve açtığımız projeye visual stdio da sağ tıklayıp new ıtem diyerek Linq to SQL Classes ekliyoruz. Açılan pencereye veri tabanımızda ki abloları çekiyoruz. İşlemlerde kullanıcağımız tabloların tamamının burda olması gerekmektedir.

Şimdi bu işlemleri yaptıkdan sonr işlemlerimizi geçelim ilk olarak veri tabanımıza ekleme yapmayı öğrenelim isterseniz;

KayitEkle.aspx sayfamızı aşşağıdaki gibi tasarlayalım lütfen.

<table style="width:100%;">
<tr>
<td class="style1">
<asp:Label ID="Label1" runat="server" Text="Adınız Soyadınız"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtAdSoyad" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
<asp:Label ID="Label2" runat="server" Text="Kullanıcı Adınız"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtKullaniciAdi" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
<asp:Label ID="Label3" runat="server" Text="Şifre"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSifre" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
&nbsp;</td>
<td>
<asp:Button ID="btnKaydet" runat="server" onclick="btnKaydet_Click"
Text="Kaydet" />
</td>
</tr>
</table>

Bu kodlarımızı yazdıktan onra şimdi cs kodlarımıza geçelim;


OsmkrtDataContext Osm = new OsmkrtDataContext();
Kullanicilar KullaniciInsert = new Kullanicilar
{
AdSoyad = txtAdSoyad.Text,
KullaniciAdi = txtKullaniciAdi.Text,
Sifre = txtSifre.Text
};
Osm.Kullanicilars.InsertOnSubmit(KullaniciInsert);
Osm.SubmitChanges();

Gördüğünüz gibi ekleme işlemimiz bu kadar kısa sürdü. Veritabanımızı zaten mimariye dahil ettiğimiz için sorunsuz bir şekilde ekleme işlemi gerçekleşecektir.

Şimdi Eklediğimiz veriyi çekmeyi gösteriyim ben en iyisi;

VerileriGoster.aspx sayfamıza bir adet GrdiView atıyoruz


<asp:GridView ID="GridView1" runat="server">
</asp:GridView>

Şimdi ise VerileriGoster.aspx.cs sayfamızı kodlamaya geçelim;


OsmkrtDataContext Osm = new OsmkrtDataContext();
var HakkimizdaSelect = from h in Osm.Hakkimizdas
select h;
GridView1.DataSource = HakkimizdaSelect;
GridView1.DataBind();

İşte Bu kadar basit. Verilerimizi çektik ve gridview de gösterdik.

Hadi Bide güncelleme yapalım ne derseniz. Guncelle.aspx diye bir web sayfası oluşturuyoruz ve Altına şu kodarımızı yazıyoruz;


<table style="width:100%;">
<tr>
<td class="style1">
<asp:Label ID="Label1" runat="server" Text="Adınız Soyadınız"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtAdSoyad" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
<asp:Label ID="Label2" runat="server" Text="Kullanıcı Adınız"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtKullaniciAdi" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
<asp:Label ID="Label3" runat="server" Text="Şifre"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSifre" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
&nbsp;</td>
<td>
<asp:Button ID="btnGuncelle" runat="server"
Text="Guncelle" onclick="btnGuncelle_Click" />
</td>
</tr>
</table>

Bu kodlarımızı yazdık ve cs syfamıza geçiyoruz şu kodları yazıyoruz;

OsmkrtDataContext Osm = new OsmkrtDataContext();
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["ID"]==null)
{

}
else
{
var KullaniciId = int.Parse(Request.QueryString["ID"].ToString());
var Guncelle = from g in Osm.Kullanicilars
where g.ID == KullaniciId
select g;
foreach (var user in Guncelle)
{
txtAdSoyad.Text = user.AdSoyad;
txtKullaniciAdi.Text = user.KullaniciAdi;
}
}
}
protected void btnGuncelle_Click(object sender, EventArgs e)
{
if (Request.QueryString["ID"]==null)
{

}
else
{
var KullaniciId = int.Parse(Request.QueryString["ID"].ToString());
var KullaniciUpdate=from u in Osm.Kullanicilars
where u.ID==KullaniciId
select u;
foreach (var user in KullaniciUpdate)
{
user.Sifre = txtSifre.Text;
}
Osm.SubmitChanges();
}
}

Bu kodlarımızı yazdık yalnız ben bu projede ıd değerini elimle yazdım sizlere göstermek amacıyla siz istediğiniz gibi kullanmakta özgürsünüz.

Şimdi güncelle işlemimiz de bittiğine göre son olarak verileri silme işlemine geçebiliriz.

Sil.aspx diye bir sayfa oluşturuyoruz ve sayfamıza ;


<table style="width:100%;">
<tr>
<td class="style1">
<asp:Label ID="Label1" runat="server" Text="Adınız Soyadınız"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtAdSoyad" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
<asp:Label ID="Label2" runat="server" Text="Kullanıcı Adınız"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtKullaniciAdi" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
<asp:Label ID="Label3" runat="server" Text="Şifre"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSifre" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td class="style1">
&nbsp;</td>
<td>
<asp:Button ID="btnSil" runat="server"
Text="Sil" onclick="btnSil_Click"/>
</td>
</tr>
  </table>

Bu kodlarımızı yazıyoruz. Bu kodlarımızı yazdıktan sonra ise cs tarafına geçiyoruz ve alt kısımda ki kodlarımızı oraya yazmaya başlıyoruz;


OsmkrtDataContext Osm = new OsmkrtDataContext();
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["ID"] == null)
{

}
else
{
var KullaniciId = int.Parse(Request.QueryString["ID"].ToString());
var Sil = from d in Osm.Kullanicilars
where d.ID == KullaniciId
select d;
foreach (var user in Sil)
{
txtAdSoyad.Text = user.AdSoyad;
txtKullaniciAdi.Text = user.KullaniciAdi;
}
}
}
protected void btnSil_Click(object sender, EventArgs e)
{
if (Request.QueryString["ID"] == null)
{

}
else
{
var KullaniciId = int.Parse(Request.QueryString["ID"].ToString());
var KullaniciDelete = from d in Osm.Kullanicilars
where d.ID == KullaniciId
select d;
Osm.Kullanicilars.DeleteAllOnSubmit(KullaniciDelete);
Osm.SubmitChanges();
}
}

Yine ben burda id değerini elimle girmeyi tercih ettim siz göster sayfasından verecğiniz bir linkle(querstring) ile bu işlemi çok güzel bir şekilde gerçekleştirebilirsiniz.

Linq kullanımı bu kadar basit işte arkadaşlar. Gece oturdum ya o kadar bannerimde linq yazıyo bi yazı paylaşmadım dedim. Ben linq yapısını çok beğendim ama ne sebepten dir projelerimde kullanmıyorum. Elbet bir gün işimize yarayavaktır. Umarımsize de faydalı olur.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de TreeView Kullanımı

Arkadaşlar bu yazımda size asp.net treeView kullanımını göstereceğim ve sonsuz bir menu yapısı oluşturmayı göstereceğim. İlk olarak veritabanımızı oluşturalım ve sayfalar diye bir tablo açalım. Daha sonra bu tablomuzun içine SayfaId,SayfaAd,Icerik ve root alanlarını açalım. Root altsayfalama yapmamıza yarayacak alanımız.
Şimdi alt kısımda yazacağım kodu lütfen Default.aspx sayfamıza yazalım.


<asp:TreeView ID="TreeView1" runat="server" ImageSet="Arrows" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
                            <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
                            <Nodes>
                                <asp:TreeNode Text="Menuler" Value="Menuler"></asp:TreeNode>
                            </Nodes>
                            <NodeStyle Font-Names="verdana" Font-Size="10pt" ForeColor="White" HorizontalPadding="5px"
                                NodeSpacing="0px" VerticalPadding="0px" />
                            <ParentNodeStyle Font-Bold="False" />
                            <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px"
                                VerticalPadding="0px" />
</asp:TreeView>


Bu kodlarımızı yazdıktan sonra gelin şimdi asıl kodlara c# kodlarımıza geçelim.

DataTable dt = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SqlDataAdapter dap = new SqlDataAdapter("select SayfaId,SayfaAd,root from Sayfalar order by root", baglan.baglanti);
            dap.Fill(dt);
            populateData(TreeView1.Nodes[0], getrows("0"));

        }
    }
DataRowCollection getrows(string id)
    {
        DataView dw = new DataView(dt);
        dw.RowFilter = "root=" + id;
        return dw.ToTable().Rows;
    }

    void populateData(TreeNode node, DataRowCollection col)
    {
        foreach (DataRow row in col)
        {
            TreeNode n = new TreeNode();
            n.Text = row[1].ToString();
            n.Value = row[0].ToString();
            node.ChildNodes.Add(n);
            populateData(n, getrows(row[0].ToString()));
        }

    }
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {
        if (TreeView1.SelectedNode.Parent != null)
        {
            Response.Redirect("SayfaDetay.aspx?SayfaId=" + TreeView1.SelectedNode.Value);
        }
    }

 


Bu kodlarımızı da Default.aspx.cs sayfamıza yazıktan sonra artık işlem bitmiş olacak ve kullanıma hazır hale gelecek.
Görüşmek Üzere;
Osman KURT
Yazılım geliştirici ve Grafiker

Validation of viewstate MAC failed Hatası

'Validation of viewstate MAC failed' hatasi, sayfada uzun süre bekleyip, sayfayi tetikleyecek herhangi birseye tikladiginiz vakit karsiniza çikacaktir. Sayfa post edildigi vakit state'te takilip hata ekrani çikaracaktir.

"Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster." gibi bir hata alıyorsanız;

Web confgi içinde System.Web altına;

<system>

<pages validateRequest="false" enableEventValidation="false" anableViewStateMac="false" viewStateEncrytionMode="Never">

</system>

evet arkadaşlar bu kodlarımızı webconfiğin içine yazdığımız da artık machinekey hatası almıyacağız.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve grafiker

 

ASP.Net de Multiupload Olayı

Evet arkadaşlar bugün size asp.net de çokcakullandığımız bir olayın kısa yolunu alnatıcam. Eminim ki hepiniz yaptığınız siteler de yada projelerde resim yada dosya uploadı yapmışınızdır ve bunları tek tek yapmak çok sıkıcı bir iştir. İşte bu kodlar ve yazılımcının mahareti tam burada devreye giriyor ve işte multiupload kodları :D

İlk olarak projemizi oluşturalım ve default sayfamızı tasarlamay başlayalım.

<asp:Panel ID="Panel1" runat="server">

        </asp:Panel>

        <br />

        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /><br />

        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>


Şimdi ise default.aspx.cs satfasınayazıcamız kodlara bakalım;

 

protected void Page_Load(object sender, EventArgs e)
    {
        for (int i = 1; i <= 3; i++)//10 kere dön 
        {
            FileUpload myFileUpload = new FileUpload();//Yeni File Upload Kontrolünin instance'ni al 
            myFileUpload.ID = "Upload_" + i;//Erismek için ID'ni belirle 
            this.Panel1.Controls.Add(myFileUpload);//Kontrolü panel içine ekle 
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        FileUpload myFileUpload;
        for (int i = 1; i <= 3; i++)
        {
            myFileUpload = ((FileUpload)Panel1.FindControl("upload_" + i.ToString()));
            if (myFileUpload.HasFile)
            {
                myFileUpload.SaveAs(Server.MapPath("images/" + myFileUpload.FileName));
                OleDbConnection cnn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb;Persist Security Info=True");
                OleDbCommand cmd = new OleDbCommand("insert into Resim (Resim) values ('" + myFileUpload.FileName + "')", cnn);
                cnn.Open();
                cmd.ExecuteNonQuery();
                cnn.Close();
            }
        }
        Label1.Text = "İşlem Başarıyla Gerçekleşti";
    }

Kodlarımız bu kadar arkadaşlar üst kısımda ki kodları eksiksiz bir şekilde yazdığımız da sizde artık resim upload etmenin kolaylığına varacaksınız.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

 

ASP.Net De MAC Adresini Alma

Arkadaşlar alt kısımda ki kısa kodumuz bulunduğumuz server'ın MAC adresini almaya yarayacak bir kod parçası. Siz bu kodu localiniz de kullandığınız da kendi makinanızın mac adresini alacaksınız. Server a attığınız da ise server'ın mac adresini alacaksınız.

Sayfamızın kod kısmına geçiyoruz ve en üst kütüphane kısmına;

using System.Net.NetworkInformation;

Kütüphenesini ekliyoruz.

Formun load olayına ise;

protected void Page_Load(object sender, EventArgs e)
{
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    Label1.Text = "Bilgisayarımızın MAC Adresi : " + nics[0].GetPhysicalAddress().ToString();
}

Bu kodlarımzı da yazdıktan sonra işlemimiz tamamlanıyor artık server'ın mac adresi elimin altın da.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de Dosya İndirmek

Merhaba arkadaşlar bugün size asp.net le internette herhangi bir adresten dosya indirme kodunu göstereceğim. Çok kısa ama bir o kadar da kullanışlı bir kod bence, eminim ki işinize yarayacak projelerinizde kullanacaksınız. Lafı uzatmadan kodları yazmaya başlayım isterseniz.

sayfamıza bi adet buton keliyoruz ve butonun click olayına şu kodları yazıyoruz;

WebClient osmankurt = new WebClient();
osmankurt.DownloadFile("http://www.osmankurt.net/wpcumulus.rar", "d:\\osman.rar");

Bu kodları yazdıktan sonra örnek uygulamamız çalışmaya başlıyacaktır. Yalnız using System.Net; kütüphanesini sayfamızın yukarısına eklememiz lazım yoksa hataalacak ve projemiz çalışmayacaktır.

Görüşmek Üzere;

Osman KURT

 Yazılım Geliştirici ve Grafiker

ASP.Net De File Upload İçin Webconfig Ayarı

Bu yazımda upload veya multiupload işlemleri sırasında sorun yaşamamak için yapmamız gereken ayarlardan bahsedeceğim.Ancak büyük boyutlu dosyalar kullanıldığında eğer ayarları belirtmemişsek hatalarla karşılaşmaktayız. Bu hataları gidermek için projemizin web.config dosyasında aşağıdaki gibi ayarlarmalar yapmalıyız. Bu şekilde dosya upload işlemleri sırasında karşılaşabileceğimiz sıkıntıları engelleyebiliriz.

Web.config dosyamızda aşağıdaki kodları (system.web tagı arasına) ekleyerek değerleri projemize göre ayarlamalıyız.

<httpRuntime
 executionTimeout="200" //sn cinsinden timeout süresi 
 maxRequestLength="20000" // kb cinsinden upload miktarı belirleme
 appRequestQueueLimit="5000"  //aynı anda karşılanacak istek sayısı
 requireRootedSaveAsPath="true"  //dosya yolu belirlemede root'tan başlanır
 shutdownTimeout="90"  //dk cinsinden isteklerin çalışma süresi
 />

Msdn'den bu ayar hakkında ve tüm özellikleri hakkında daha fazla bilgiye buradan ulaşabilirsiniz. Ayrıca bu ayarların Visual Studio 2003, 2005 ve 2010 ile .Net Framework (1.1, 2.0, 3.0, 4.0) sürümleri arasındaki farklarını da görebilirsiniz.

ASP.Net de Server a Klasör Oluşturmak

Merhaba Arkadaşlar

Sizlere bu kısa yazımda asp.net de server a klasör açmayı ve açtığımız yada var olan dosyayı silmeyi göstereceğim.

Klasor oluşturmak için ?


             if (!Directory.Exists(HttpContext.Current.Server.MapPath("~/osmankurt
")))
                 Directory.CreateDirectory(HttpContext.Current.Server.MapPath(
"~/osmankurt"));


Klasor silmek için ?

             if (Directory.Exists(HttpContext.Current.Server.MapPath(
"~/osmankurt")))
                 Directory.Delete(HttpContext.Current.Server.MapPath(
"~/osmankurt"));

Kadlarımız bu kadar arkadaşlar artık nerde ne amaçla kullanacapınız size kalmış.

Görüşmek Üzere

Osman KURT

Yazılım Geliştirici ve Grafiker