Osman KURT

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

Asp.net ile Sayfaya Dinamik Olarak Css ve JavaScript Dosyaları Ekleme

Asp.net ile geliştirdiğimiz web projelerinde Css ve Javscript dosyalarımızı sayfamıza eklerken design tarafından ekleriz genelde.Bu yazımızda ise cs tarafında kod yardımı ile nasıl ekleyebiliriz ona değineceğim.Bu yönetimn artısı şu şekilde düşünebilir.Örneğin urlrewrite kullanıyorsa zaman zaman javascript hatası alabiliyoruz.Bu hataları minimum seviyeye çekmek için kod yardımı ile script ve css dosyalarını yükleyebiliriz.

Dosyanın yolunu ve adını belirterek sayfamıza dinamik olarak pageload olayında aşağıdaki fonksiyon ile ekleyebiliriz.

public void css()
    {
        System.Web.UI.HtmlControls.HtmlLink css = new System.Web.UI.HtmlControls.HtmlLink();
        css.Href = "~/style.css";
        css.Attributes.Add("type", "text/css");
        css.Attributes.Add("rel", "stylesheet");
        this.Header.Controls.Add(css);
    }

Bu kodlarımızı yazdıktan sonra işlemimiz sona ermiş bulunmakta.

Not: Bu kodlarımızı eğer masterpage sayfasında kullanmah istersek this.Header.Controls.Add(css) şeklinde yapmamız lazım aksi takdirde hata verecektir.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de Mail ile Dosya,Resim Göndermek

Evet arkadaşlar bir çoğumuzun işine lazım olmuştur yada olucaktır. iletişim formlarında yazının yanı sıra herhangi bir dosya göndermeyi yapan bir kod yazıcam size. Eminim ki işinize yarıcaktır. Şimdi iletişim formumuzu oluşturduktan sonra  gönder butonumuzun altına kodlarımızı yazmaya başlayalım.

SmtpClient mailClient = new SmtpClient("mail.sietadi.com", 111); //Bu kısma port nosunu yazın
                NetworkCredential cred = new NetworkCredential("mail adresi", "şifre");
                mailClient.Credentials = cred;

                MailMessage contact = new MailMessage();
                contact.From = new MailAddress(txtmail.Text);
                contact.Subject = "Başlık";
                contact.IsBodyHtml = true;
                contact.Body = "<table><tr><td>Firma Adı :</td><td>" + txtfirmaadi.Text + "</td></tr><tr><td>İlgili Kişi :</td><td>" + txtilgilikisi.Text + "</td></tr><tr><td>Tel No :</td><td>" + txttelno.Text + "</td></tr><tr><td>Fax No :</td><td>" + txtfaks.Text + "</td></tr><tr><td>Adres :</td><td>" + txtadres.Text + "</td></tr></table>";
                if (FileUpload1.HasFile)
                {
                    Attachment a = new Attachment(FileUpload1.FileContent, FileUpload1.FileName);
                    contact.Attachments.Add(a);
                }
                contact.To.Add(gidicem mail adresi);
                mailClient.Send(contact);

contact.body alanını kendinize göre düzenleyin formunuz ne var ne yok bilmediğim için bişey diyemiyorum ben kendime göre yaptım.

Kodlarımız bu kadar arkadaşlar umarım faydalı olur.

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de Server Üzerinde ki Resimi Tamamen Silme

Arkadaşlar bu kodumuzda çok önemli gerçekten bir önceki yazımda server üzerinde ki resimleri listelemeyi göstermiştim. Bu yazımda listelediğimiz resimlerden gereksiz olanını silmemize yaran kodumuzu vericem.

default.aspx sayfamıza ilk olarak alt kısımda ki kodu ekleyelim isterseniz.

<asp:Button ID="Button2" runat="server" Text="Sil" onclick="Button2_Click" />
        <asp:DropDownList ID="DropDownList1" runat="server">
        </asp:DropDownList>

sonra default.aspx.cs sayfamıza gelelim ve kodlarımızı yazmaya başlayalım. Ben burda resim silme işlemini dropdownlist den isimlerini seçerek yaptım siz isterseniz buraya bir textbox koyabilir ve resim ismini elle girerek silme işlemini gerçekleştirebilirsiniz.

default.aspx.cs sayfamıza alt kısımda bulunan kodlarımızı yazıyoruz.


File.Delete(Server.MapPath("~/Resim/"+DropDownList1.SelectedValue));

Evet arkadaşlar işlemimiz sonlanmıştır kodlarımız hayırlı uğurlu olsun :D

Görüşmek Üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

 

ASP.Net de Klasör İçinde ki Dosyaları Sayfa da Görüntüleme

Sevgili programcı arkadaşlarım bu yazımda size kullandığımız bir klasör içinde bulunan image dosyalarını sayfada görüntüleme konusunda yardımcı olacağım. İsterseniz hiç vakit kaybetmeden kodlarımızı yazmaya geçelim. Bu nerde işimize yarayacak derseniz sınırlı hosting kullanımlarında çok yer kaplayan image dosyalrımızı sağlıklı bir şekilde yönetmemize yarayacaktır diye düşünüyorum.

İlk Olarak bir proje oluşturuyoruz ve gelen default.aspx dosyamıza bir adet panel atıyoruz.

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

Panelimizi attıktan sonra kod kısmımıza geçelim ve kodlarımızı yazmaya başlayalım.

default.aspx.cs dosyamıza geliyoruz ve alt kısımda görüdüğünüz kodları yazmaya başlıyoruz.

 DirectoryInfo klasorBilgisi = new DirectoryInfo(@"C:\Users\osmankurt\Desktop\ResimeYaziYazma\Resim");

        foreach (FileInfo dosya in klasorBilgisi.GetFiles("*.*"))
        {
            Literal ltr = new Literal();
            Panel1.Controls.Add(ltr);

            ltr.Text = "<a href='Resim/"
                + dosya.Name + "'/><img src='Resim/"
                + dosya.Name + "' width='100px' height='100px' border='0'></img></a>" + "<br/>Resim/" + dosya.Name + "<br/>";
        }

Bu kodlarımızın çalışması için sayfanın en üst kısmına

using System.IO;

Kütüphanemizi ekliyoruz.

Bu kodlarımızı ben sayfamın page_load olayına yazdım sayfa yüklendiğinde otomatik olarak linklerini ve resimlerin görüntüledim.

Umarım faydalı bir yazı olmuştur.

Görüşmek üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de Resime Boyut Verme

Birçok projemizde kullanmamız gerekn bir olay bu. Yaptığımız projede resim galerisi yapıyoruz ama galerideki resimleri listelediğimizde o sayfaya giren kişinin bilgisayarı çok fena kasılıyo ve buda web sayfanızın ziyaretçi kitlesini hızlı bir şekilde aşşağıya çekebiliyor. Buda normal bir olay. Çünkü siz tutup 1027x768 px lik bir resmi 100x100 px bir boyutta gösteriyosunuz tmm ama resmin orjinal boyutu büyük olduğu için hem yüklenirken hemde gösterilirken pc yi kasacaktır. Bende bu hatayı çok yaptım. O yüzden bu kodu yazmaya başladım. Boşuna dememişler yazılım ihtiyaçtan doğar diye.

Şimdi ilk olarak Boyut.aspx dosyası oluşturalım ve içini alt kısımdaki gibi dolduralım.

<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<asp:Button ID="Button1" runat="server" Text="İşlem Yap"
onclick="Button1_Click" /><br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button2" runat="server" Text="Sil" onclick="Button2_Click" />

Bu kısmı oluşturduktan sonra isterseniz asıl kod kısmımızı yazma başlayalım. hemen boyut.aspx.cs dosyamıza geçiyoruz ve kodlarımızı yazıyoruz.

private void boyutlandir(string fileName)
{
Bitmap orjinalResim = new Bitmap(Server.MapPath(fileName));
int resimGenislik = 600;
int resimYukseklik = 450;
Size yeniResimBoyut = new Size(Convert.ToInt32(resimGenislik), Convert.ToInt32(resimYukseklik));
Bitmap boyutlandirResim = new Bitmap(orjinalResim, yeniResimBoyut);
boyutlandirResim.Save(Server.MapPath("~/Resim/" + fileName), ImageFormat.Jpeg);
}
protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string resimAd = FileUpload1.FileName;
FileUpload1.SaveAs(Server.MapPath(FileUpload1.FileName));
boyutlandir(resimAd);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
try
{
File.Delete(Server.MapPath("~/Resim/"+TextBox1.Text));
Response.Write(alarmVer.msjBox("Resim Başarıyla Silinmiştir","boyut.aspx"));
//ya classı oluşturun yada bu satırı yazmayın...
}
catch (Exception)
{
Response.Write(alarmVer.msjBox("Hata Oluştu", "boyut.aspx")); //ya classı oluşturun yada bu satırı yazmayın...
}

}

Bu kodlarımızı yazdıktan sonra işlemimizi sonlandırıyoruz.

Ha Unutmadan boyut.aspx.cs dosyamızın en üst kısmına alt kısımdaki kütüphaneleri ekliyoruz yoksa projemiz çalışmıyacaktır.

using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

Sonraki yazımızda Görüşmek Üzere;

Osman KURT
Yazılım Geliştirici ve Grafiker

Not: Bu projenin çalışması için http://www.osmankurt.net/post/ASPNet-de-MesajBox-Uygulamasc4b1.aspx linkinde ki class dosyamızı oluşturmanız lazım. Yada mesaj kodlarını kaldırınız.

KucukResimOlusturma.rar (606,19 kb)

Teşekkürler MİCROSOFT

Sevgili Yazılım geliştirici arkadaşlarım size iyi haberim var.

Hepimizin yakınen tanıdığı bazen çok kızdığı bazen de bağrına bastığı Microsoft Visual Studio 2010 da Türkçe ana dil desteği vereceğini ve böylece Türk yazılım geliştiricilerinin teknolojiyi kendi dillerinde daha etkin kullanabileceğini açıkladı. Bu haber beni gerçekten çok mutlu etti neden çünkü visual studio bir derya deniz be biz gerçekten bu konuda eksiğiz.

Herşeye ragmen sağol Microsoft :D

Görüşmek üzere

Osman KURT

 

ASP.Net de Resim Üzerine Kod İle Yazı Yazma

Evet arkadaşlar bu yazımız da günümüz medyasının çok çok kullandığı bir şeyi göstereceğim size. Sahibi olduğumuz resim üzerine başkalarının kullanmasını yada resmimizin üzerinden fayda sağlamasını bir nevze olsun engellemek için kullanabileceğimiz bir yöntem. Gelin şimdi kodlarımızı yazmaya başlayalım.

İlk Olarak default.aspx dosyamıza kodlarımızı yazmaya başlayalım.

<asp:FileUpload ID="FileUpload1" runat="server" /><br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Resime Yazı Yaz" onclick="Button1_Click" /> 

Ve şimdide default.aspx.cs dosyamıza kodlarımızı yazmaya geçelim.

protected void Button1_Click(object sender, EventArgs e)
    {
        System.Drawing.Image Image = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
        Bitmap b = ResmeYaz(Image, Image.Width, Image.Height, TextBox1.Text, 20);
        b.Save(Server.MapPath("~/Resim/" + FileUpload1.FileName));
    }

İşlemimizi gerçekleştirmek için yazacağımız fonksiyon aşşağıdaki gibidir.


    private Bitmap ResmeYaz(System.Drawing.Image Resim, int ResimGenisligi, int ResimYuksekligi, string Yazi, float FontBoyutu)
    {
        Bitmap resmim = new Bitmap(Resim, ResimGenisligi, ResimYuksekligi);
        System.Drawing.Graphics Resims = System.Drawing.Graphics.FromImage(resmim);
        System.Drawing.SolidBrush Brushes = new SolidBrush(System.Drawing.Color.White);
        System.Drawing.Font FontTipBoyut = new Font("verdana", FontBoyutu);
        System.Drawing.SizeF Boyut = new SizeF(0,0);
        System.Drawing.PointF YaziNoktasi = new PointF(310,310);
        System.Drawing.RectangleF Regtngl = new RectangleF(YaziNoktasi, Boyut);
        StringFormat YaziFormati = new StringFormat();
        YaziFormati.FormatFlags = StringFormatFlags.DisplayFormatControl;
        Resims.DrawString(Yazi, FontTipBoyut, Brushes, Regtngl, YaziFormati);
        return resmim;
    }

İşlemimizin sonuna gelmiş bulunmaktayız.

Sonuç:

Sonraki Makalemizde Görüşmek Üzere;

Osman kurt

ASP.Net de RSS Okuma

Evet arkadaşlar günümüz web dünyasının vazgeçilmezlerinden biri olan xml lerimize değincem bugün ve asp.net de nasıl xml okuduğumuzu göstercem. İşe ilk olarak default.aspx sayfamızdan başlıyoruz ve alt kısımda verdiğim kodların aynısını kendi default sayfamızda da yapıyoruz.

Default.aspx

<asp:TextBox ID="TxtRss" runat="server" Width="649px"></asp:TextBox>
        <asp:Button ID="BtnRss" runat="server" Text="RSS Load" Width="90px"
            onclick="BtnRss_Click" />
        <br />

        <asp:Panel ID="PanelContent" runat="server"
            Width="100%">

            <asp:DataList ID="DataListRSS" runat="server" BackColor="#CCCCCC"
            BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4"
            CellSpacing="2" ForeColor="Black" GridLines="Both" Width="100%">
                <FooterStyle BackColor="#CCCCCC" />
                <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
                <ItemStyle BackColor="White" />
                <ItemTemplate>
                    <%# Eval("title") %>
                    <br />
                    <%# Eval("description")%>
                    <br />
                    <%# Eval("link")%>
                    <br />                   
                    <%# Eval("pubDate")%>
                    <br />
                </ItemTemplate>
                <SelectedItemStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
            </asp:DataList>

        </asp:Panel>

Default.aspx dosyamızı oluşturduktan sonra şimdi Btnrss butonumuzun altına verecğim kodumuzu yazıyoruz.

protected void BtnRss_Click(object sender, EventArgs e)
    {
        XmlTextReader xreader;
       
        // Textbox'ın validasyon işlemini kod tarafında kontrol ediyoruz.
        if (!string.IsNullOrEmpty(TxtRss.Text))
        {
            // textbox'a girilen URL nesneye aktarılıyor
            xreader = new XmlTextReader(TxtRss.Text);
            DataSet dset = new DataSet();
            dset.ReadXml(xreader);

            // XML dosyası okunduktan sonra dataliste kaynak olarak belirtiliyor ve bağlanıyor.
            DataListRSS.DataSource = dset.Tables["item"];
            DataListRSS.DataBind();
        }

    }

Bu kodlarımızı da sorunsuz şekilde yazdıktan sonra sıra son işlemimiz olan xml sayfamıza geldi. İlk olarak RSS.xml adında bir xml sayfası oluşturuyoruz ve içine alt kısım da ki kodlarımızı yazıyoruz.

<?xml version="1.0" encoding="UTF-8"?>

<channel>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
 
<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>

<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>

<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>

<item>
  <title>xdfgdf</title>
  <description>fghfgh</description>
  <author>fgj</author>
  <link>hjk</link>
  <pubDate>saer</pubDate>
</item>
 
</channel>
   

Sayfamızı çalıştırdığımızda artık istediğimiz adresten RSS okuyabiliriz.

Görüşmek Üzere;

Osman KURT

ASP.Net de Flash Animasyonlu Etiket Bulutu

Evet arkadaşlar eminim ki girdiğiniz birçok sitede bu animasyonu görmüşünüzdür. Hazır blog kullanıyorsanız zaten bu eklentiler internette mevcut durumda ufak değişikliklerle kendi sayfanıza entegre edebiliyorsunuz. Ama kendi yapmış olduğunuz bir sayfa varsa ve bu yapıyı kendiniz kurmak istiyorsanız kaynak kod için doğru yerdesiniz. Lafı uzatmadan konuya gelelim :). Arakadaşlar bu işlem için elimizd ebir adet dll miz var öncelikle bu dll dosyasını indirip projenize referans olarak almanız lazım.

http://osmankurt.net/wpcumulus.rar adresinden dll dosyamızı indirebilirsiniz.

Bu dll dosyasını indirdikten sonra projenize sağ tıklayıp reference diyerek dll'i referans olarak projenize ekleyin. Sonra visual studio'nunuzun toolbax kısmına gelin ve sağ tıklayıp choose ıtems seçimini yapın. Gelen pencereden dll mizi bu kısmada yükledikten sonra toolbax penceremize gelen WPCumulus'ı sürükleyip sayfamıza bırakalım ve alt kısımda ki gibi kodlarımızı ayarlayalım.

<cc1:WPCumulus ID="WPCumulus1" runat="server" DataCountField="Count"
        DataTextField="Text" DataUrlField="Link" Width="400" Height="400"
        BackColor="#CCCCCC" HiColor="#66FF33" TagColor1="Red" TagColor2="Blue"  Distr="True"  />

Şimdi cs dosyamıza kod yazmaya başlayalım isterseniz.

Alt Kısım da yazan kodlar animasyonumuzun içeriğini doldurmaya yarayan kodlar siz bunları kendi isteklerinize göre doldurabilirsiniz. İsterseniz dinamik bir yapıya da sokabilirsiniz ve veritabanın dan kontrol edebilirisiniz.

WPCumulus1.DataSource = new[]
                                        {
                                            new {Text = "Osman KURT", Count = 10, Link="/Tags/Silverlight" },
                                            new {Text = "Sadık VAROL", Count = 11, Link="http://iis.net" },
                                            new {Text = "YusufKARAKAŞ  ", Count = 12, Link="/Tags/IE8" },
                                            new {Text = "Cenk KÖKER", Count = 13, Link="/Tags/C#" }
                                         };
WPCumulus1.DataBind();

Not: Türkçe karekterleri desteklememektedir.

Sonraki yazımızda görüşmek üzere;

Osman KURT

ASP.Net de Ping Atmak

Bilgisayarda ping atmak uzman amatör herkesin işine yarayan bir yapıdır. Başlata basılır komut seti açılır gelen siyah ekrana ping www.adres.com yazılır ve gelen değerlerden yola çıkılarak işlemler yapılır. Şimdi ben size bu işlemin c# kodunu yazacağım. Bu kod nerde işimize yarayacak derseniz örnek vermek gerekirse siz hayatın koşuşturmasın da herşeyi unuturken birileri ya bazı programlar sizin yerinize web adresinizin yayında olup olmadığını ya da benzeri şeyleri sizin yerinize takip edebilir. Benim verecğim kod basit bir kod ama siz geliştirebilirsiniz.

Ping ping = new Ping();
PingReply DonenCevap = ping.Send(TextBox1.Text);
if (DonenCevap.Status == IPStatus.Success)
{ 
	Label1.Text += DonenCevap.Address.ToString();     
	Label1.Text += DonenCevap.RoundtripTime.ToString();     
	Label1.Text += DonenCevap.Options.Ttl.ToString();
}
else 
if (DonenCevap.Status == IPStatus.TimedOut) 
{    
	Label1.Text = ("Zaman Aşımına Uğradı."); 
}

Sonraki makalemizde görüşmek üzere;

Osman KURT