KMRT BSRN

"Hiç kimsenin ilgisine ihtiyaç duymadığın gün olgunlaşırsın. Hiç kimseden beklentiye girmediğin gün yara almazsın. Ve hiç kimseye bağımlı kalmazsan kazanırsın." OSHO


Yorum bırakın

Visual Studio 2013 Yeni Web Özellikleri Duyurusu ve SASS Yenilikleri – Update 2 CTP2

Tam ben SASS serisi videolarını bitirmişken, dün yapılan bir duyuruda SASS Project item ve editörü desteği de Visual Studio 2013 Güncellemesi ile geldi. Daha henüz deneme şansım olmadı fakat hemen haberi paylaşmak istedim.

Tabii ki bu güncelleme sadece SASS project item ve editörü için değil;

  • SASS Style Sheets – Project Item & Editor
  • JSON File – Project Item & Editor
  • Yeni web projesi oluştururken, uzak Azure kaynakları oluşturma seçeneği.
  • MVC/SPA Şablon değişiklikleri
  • LESS editör iyileştirmeleri
  • Knockout Intellisense güncellemesi
  • HTML, Razor, CSS, LESS, SASS sayfalarında yeni URL seçicisi.
  • Browser link için yeni özellikler
  • ASP.NET MVC 5.1.1
  • ASP.NET Web API 2.1.1
  • ASP.NET Web Pages 3.1.1

gibi yeniliklerle gelen bir güncelleme paketi. Bu arada belirtilmiş ki;

Web Essential 2013 is not compatible with the Update 2 CTP2. If you install Update 2 CTP2, after opening Visual Studio, you’ll get an error message “EditorExtensionsPackage” couldn’t be loaded.   We hope to have a new version of Web Essentials out soon to support this release.

Yani; Web Essential 2013 şu an için Visual Studio 2013 Update 2 ile uyumlu değil. Hatta güncellemeyi kurduktan sonra “EditorExtensionsPackage” yüklenemedi şeklinde bir hata ile karşılaşacağınızdan bahsediyor. Fakat umuyorlarmış ki web essential 2013 ‘ün yeni versiyonunda bu sorun giderilecekmiş.

Yani yakın zamanda web essential 2013 ‘ünde yeni güncellemesi çıkacaktır.

Peki, SASS yeniliğine tekrar dönecek olursak, SASS dosya ve editör desteği ile beraber neler gelmiş;

  • Renklendirme
  • Değişken ve Mixins IntelliSense
  • Comment/uncomment(açıklama satırı yapma ve kaldırma)
  • Quick info(hızlı bilgi)
  • Formatting (sonunda 🙂 – metin formatı düzenleme CTRL + K + D ile yaptığımız şey)
  • Syntax validation (sözdizim hata kontrolü)
  • Outlining
  • Goto definition (Kaynağa gitme)
  • Color picker (Renk paleti)
  • Ayarlar ve dahası olarak belirtilmiş.

Bende inceledikten sonra hem seriyi toparlayıcı hem de güzel bir örnek ile bu yeni güncelleme ile gelenleri sizlere bir video’da paylaşabilirim.

Kaynak ve daha fazla bilgi için bakınız;

Announcing new Web Features in Visual Studio 2013 Update 2 CTP2 – .NET Web Development and Tools Blog – Site Home – MSDN Blogs.


2 Yorum

Veysel Uğur KIZMAZ’ın Asp.Net 4.5 kitabı sizlerle!

Bu yazımızda sizlere, Veysel Uğur KIZMAZ’ın kurucusu olduğu 2011 yılında kurulmuş, yazılım ve bilişim kategorisinde IT sektöründe hizmet eden bir bilgi paylaşım sitesinden bahsedeceğim. Sitenin içeriği çok zengin olup sektöründeki neredeyse her alana ait bir başlık ve yazarı mevcut. Üstelik yazarlar, sektörde tecrübeye sahip insanlardan oluşmaktadır. Yazılım alanında bilgisini geliştirmek isteyen herkese tavsiye ederim.

www.yazilimdilleri.net

Veysel Uğur KIZMAZ Asp.Net 4.5

Site kurucusu; Veysel Uğur KIZMAZ’ın ASP.NET üzerine yazdığı kitabıda bulunmaktadır. .Net 4.5 ile gelen yenilikleri ve Asp.Net ile proje geliştirme konusunu detaylarıyla anlatan bu kitap; sadece ilgili teknoloji ile kodlamanın değil, bir web projesinin başlangıcından son noktasına kadar neler yapılması gerektiğini de anlatmaktadır. HepsiBurada, Kitapyurdu ve diğer online kitap satış sitelerinden kitaba ulaşabilirsiniz.

Asp.Net ile yazılım geliştirme (kodlama) konusunda son olarak projelerinizi zenginleştirmek için JavaScript ve jQuery kavramlarını örnek uygulama ve örneklerle öğrenebileceğiniz bir kitap’tır. 
"Yazılım geliştirmek, sadece kod yazmak demek değildir." Kitabın genelinde de bu konu üzerinde durulmuş ve Asp.Net ile yazılım geliştirme (kodlama) konularının ardından, "bir yazılım geliştirirken hangi aşamalardan geçilir, nelere dikkat edilmelidir, bir yazılımı geliştirirken planlama süreci nasıl olmalıdır, yazılım geliştirmede katmanlı mimari neden önemlidir ve yazılım geliştirme standartları" konuları, güncel hayattan örnekler ve uygulamalarla detaylı olarak anlatılmış.

Kitabında içindeki konu başlıkları;

  • ASP.NET Nedir?
  • .NET Framework Nedir?
  • .NET Bileşenleri
  • ASP.NET Çalışma Mantığı
  • İstemci Taraflı Kodlama
  • Sunucu Taraflı Kodlama
  • ASP.NET Versiyonları ve Yenilikleri
  • ASP.NET ile Yazılım Geliştirmeye Giriş
  • Visual Studio 2012’ye Genel Bakış
  • Visual Studio 2012 Çalışma Ortamı
  • Web Form Kavramı Ve Kullanımı
  • Web Form Özellikleri
  • Web Form İçerisine ASP.NET Kontrollerini Ekleme
  • ASP.NET’te C# ile Kodlama Yöntemleri
  • ASP.NET 4.5 ile C# 5.0 Kullanımı
  • C# Nedir ve Neden C# Kullanmalıyız?
  • C#’ın Kullanım Alanları
  • ASP.NET Formu Geliştirilirken Kullanılan Diller
  • Asp.Net Formlarında En Sık Kullanılan C# Örnekleri
  • C# 5.0 ile Gelen Yenilikler
  • ASP.NET Kontrolleri
  • Standart Kontroller Ve Kullanımları
  • Veri Kontrolleri
  • Veritabanından Veri Getirme
  • XML Dosyasından Veri Getirme
  • Entity Framework ile Veri Sorgulama
  • LINQ to SQL ile Veri Sorgulama
  • Nesnel Veri Kaynağı
  • Site Haritası Veri Kaynağı
  • Grafiksel Rapor Oluşturma
  • Verileri HTML Tasarımıyla Listeleme
  • Verileri Listeleme
  • Kayıt Detaylarını Görüntüleme
  • Verileri Listeleme ve İşlem Yapma
  • Verileri Sayfalayarak Görüntüleme
  • Verileri Kontroller ile Sorgulama
  • Verileri Html Şablonu ile Görüntüleme
  • Doğrulama Kontrolleri
  • Navigation Kontrolleri
  • Menü Oluşturma
  • Site Haritası Menüsü Oluşturma
  • Ağaç Menüsü
  • Kullanıcı Giriş Kontrolleri
  • Gelişmiş Sihirbaz Oluşturma
  • XML Dosyasını Görüntüleme
  • Web Part Kontrolleri
  • AJAX Kontrolleri
  • ASP.NET ile Durum Yönetimi
  • Sunucu Tabanlı Durumlar
  • İstemci Tabanlı Durumlar
  • Çerezler
  • ViewState
  • QueryString ile Sayfalara Veri Gönderme
  • LINQ ve Entity Framework
  • Temel LINQ Sorgulama İşlemleri
  • LINQ Metodları
  • LINQ ile SQL Server İşlemleri
  • Tasarım İşlemleri
  • Master Page Kavramı
  • ASP.NET ile CSS Kullanımı ve Style Sheet Dosyaları
  • Tema Tanımlama
  • Skin Tanımlama
  • JavaScript ve JQuery
  • JavaScript ile Kodlama
  • jQuery ile Kodlama
  • URL Rewrite
  • ASP.NET ile Proje Altyapısı Hazırlama
  • Yazılım Geliştirme Yaşam Döngüsü
  • Yazılım Geliştirme Standartları
  • Katmanlı Mimari
  • Kod Yazma Standartları
  • Değişken, Sınıf ve Metod Tanımlama Yöntemleri
  • Proje Tanımlama Yöntemleri
  • Web Projesini Yapılandırma ve İnternet Üzerinde Yayınlama
  • Proje Yapılandırması
  • Temel Kavramlar
  • ASP.NET Web Projesinin Yayınlanma Yöntemleri
  • ASP.NET 4.5 Yenilikleri
  • ASP.NET MVC 4
  • … ve Daha Fazlası

Kitap iç sayfalar için tıklayınız..


Yorum bırakın

JavaScript–Editable Table With JS

Bir HTML tablo hücrelerindeki satırların verilerini hızlıca değiştirebileceğimiz. JavaScript ile kodladığım basit bir kod örneği. Tabii ki örneği daha da geliştirebilir ve aşağıdaki sayfadaki gibi bir hazır kontrole dönüştürebilirsiniz. Ya da aşağıdaki bu hazır kontrolüde kullanabilirsiniz. Fakat mantığı anlama açısından benim yaptığım gibi basit bir örnek ile olayı anlamanızı tavsiye ederim.

Benim yazdığım örnek kod;

http://code.codemarmara.com/code/ArticleDetail.aspx?id=72e35c6f-b8d3-4d7b-9634-71d7118c3f31

 

Hazır Editable Table kontrolü;

http://www.webismymind.be/editablegrid/

 

Technorati Etiketleri: ,,


Yorum bırakın

HTML – Özel Element’lere Stil Uygulama – Styling Custom Elements

HTML içinde kendi elementlerimize bu şekilde style verebiliriz..

<html>

<head>

                <style type="text/css">

                yesil {

                               color: green;

                }

                Kirmizi {

                               color: red;

                }

                </style>

                <script type="text/javascript">document.createElement("yesil");</script>

                <script type="text/javascript">document.createElement("Kirmizi");</script>

</head>

<body>

<yesil>Yeşil Yazı</yesil>

                <br>

<Kirmizi>Kırmızı Yazı</Kirmizi>

</body>

</html>


Yorum bırakın

HTML Dokümanında Javascript Dosyalarını Nereye Koymalıyız? / Fatih Hayrioğlu\\\’nun not defteri

HTML Dokümanında Javascript Dosyalarını Nereye Koymalıyız? / Fatih Hayrioğlu\\’nun not defteri

ileHTML Dokümanında Javascript Dosyalarını Nereye Koymalıyız? / Fatih Hayrioğlu\\\’nun not defteri.


Yorum bırakın

ASP.NET – Modal Popup Olsun İstiyorum..

Birçok sitede gördüğümüz ve hoşumuza giden Modal Popup’lar ile ilgili bana gelen bir e-posta sonrasında bu konuda bir makale yazmaya karar verdim. Öncelikle e-posta Emrah Özgüner arkadaşımdan bana geldi ve kendisi ile çok hoş bir e-posta trafiğimiz oldu. Bu e-posta trafiğinde benim için çok hoş bir antreman ve tecrübe oldu. Emrah arkadaşımında çok farklı dünyalara giriş yapmasına sebep oldu. Kısacası ikimiz içinde zevkli bir antreman yaşadık. Bu sebeple bu konuya bloğumda da yer vermek istedim.

Birazcık ModalPopup’dan bahsedelim. ModalPopup’lar, web sayfalarında bazı nesnelerin, yazıların üzerine gelindiğinde ya da bir tıklama işlemi sonucunda ekranın ortasına gelen hoş Layer’’lar(DIV)dır. Bu sayede kullanıcılara üzerine gelinen bir nesne ile ilgili bilgi veya uyarı verilebilmesini sağlar. Yada ekranın ortasında belirerek, web sayfasının geri kalan kısmına erişimini engelleyerek kullanıcının açtığımız Layer üzerinde işlem yapmasını sağlar. Örnek olarak aşağıdaki resimdeki gibi web sayfasında yapılan işleme göre iç iç’e Layer’lar gösterebilirsiniz.

lightface3

Öncelikle bu konuda izlenebilecek birçok yöntem ve kullanılabilecek birçok ücretsiz araç var. Hatta bir web sitesinde gördüğünüz ve hoşunuza giden bir ModalPopup kodunu bile çalabilirsiniz. 🙂 Tabii bu pek hoş bir durum değil ve gereksiz. Çünkü zaten bir sürü yazılmış ücretsiz kod mevcut. Bunlardan birini Davis Walsh’ın geliştirdiği buradaki adresten alarak kullanabilirsiniz. Örnekleri ile beraber çok hoş bir Facebook tarzı Modal Pop geliştirmiş. Bu yazıyı benimle paylaştığı için Emrah Özgüner arkadaşıma teşekkürler.. 🙂 Bir adres daha paylaşmak istiyorum. Eğer AJAX kullanıyorsanız oradaki ModalPopup kontrolü de çok işinize yarayacaktır. Bunun içinde Sem Göksu’nun “ModalPopup Kontrolü ile Kullanıcı Dostu Mesaj Pencereleri Çıkarmak” isimli makalesini okumanızı öneririm.

Şimdi gelelim kendi Modal Popup’ımızı nasıl geliştirebileceğimize.. Öncelikle belirttiğim gibi, Modal Popup için bir çok yöntem var.. Yukarıda da bahsettiğim gibi Emrah arkadaşımın böyle bir yapıyı nasıl oluşturabileceğimiz sorusu üzerine kısıtlı zamanımda aklıma gelen ilk yöntemle sorununa çözüm bulmaya çalıştım.

Amacımız;

Bir DataList ile çektiğimiz verilerin sayfa üzerinde gösterilmesini sağlayacağız. Ardından DataList üzerindeki her kayıdın üzerine gelindiğinde yanında bir ModalPopup açılmasını sağlayacağız. ModalPopup içinde kaydın bilgilerinin aynılarını bir resim ile beraber göstereceğiz. Anlatarak açıklamaktansa göstererek anlatmak en iyisi. 🙂 Amacımız aşağıdaki resimlerdeki yapıyı oluşturmak.

image

image

Gördüğünüz gibi her kaydın üzerine geldiğimde yan tarafta bir ModalPopup açılıyor ve kullanıcı bilgilerini bir resim ile güzel bir yapıda gösteriyorum. Projemize başlıyoruz..

Öncelikle Visual Studio 2010 üzerinde (isterseniz 2008’de olur) boş ve .NET Framework 3.5 üzerinde çalışan bir web site projesi açıyorum. Projeye “FaceTest” ismini verdim.

image

Ardından “Default.aspx” isminde bir web sayfası projemize ekliyoruz.. Oluşturduğumuz bu yeni web sayfası(“Default.aspx”) üzerine toolbox’daki “Data” bölümünden bir adet “DataList” kontrolünü sürükleyip bırakıyoruz. Siz burada başka kontrolleride kullanabilirsiniz..

image

Buraya kadar herşey güzel.. Şimdi Code Behind’a geçiyoruz. Buraya tamamen kurgusal bir veri yığını oluşturarak, data list’in doldurulmasını sağlayan kodu yazacağız.. Web sayfasının “Page_Load” olayına aşağıdaki kodu yazıyorum.

  protected void Page_Load(object sender, EventArgs e)    
  {        
        if (Page.IsPostBack) return;

        // ?rnek veri tablosu.        
        System.Data.DataTable dt = new System.Data.DataTable();        
        dt.Columns.Add("userId", typeof(int));        
        dt.Columns.Add("ad", typeof(string));        
        dt.Columns.Add("soyad", typeof(string));

        System.Data.DataRow dr;

        // Sat?r 1.        
        dr = dt.NewRow();        
        dr["userId"] = 0;        
        dr["ad"] = "Murat";        
        dr["soyad"] = "Ba?eren";        
        dt.Rows.Add(dr);

        // Sat?r 2.        
        dr = dt.NewRow();        
        dr["userId"] = 1;        
        dr["ad"] = "Emrah";        
        dr["soyad"] = "?zg?ner";        
        dt.Rows.Add(dr);

        // Veriyi DataList'e ba?l?yorum.        
        this.myDataList.DataSource = dt;        
        this.myDataList.DataBind();

}

Design ekranına geçiyoruz ve yazdığımız arkaplan koduna uygun bir Template tasarımı yapacağız. DataList kontrolünü design alanında seçtiğinizde sağ üst köşesinde çıkan ok’a tıklıyoruz ve açılan menü’den “Edit Templates” seçiyoruz. Bu işlem ile arkaplan kodumuza uygun bir tasarım yapacağız. “Item Template” yapısı otomatik olarak geliyor. Bunun anlamı, DataList’e Bind ettiğimiz DataTable’ın her bir satırındaki veriler için DataList nasıl görünüm sağlayacak bunu ayarlıyoruz.

image

3 adet Label’ı Item Template içine sürükleyip bırakıyoruz. Her bir Label’ı sırası ile seçiyoruz. Label’ın sağ üst köşesindeki ok’a basarak “Edit Databindings” seçiyoruz. “Text” özelliğine arkaplan kodunda yazdığımız DataTable’ın kolonlarına karşılık gelen ifadeyi yazıyoruz..

image

image

image

Item Template ayarlarını bu şekilde tamamlamış oluyoruz. “End Template Editing” ifadesini seçerek DataList’in template tasarımını tamamlıyoruz.

image

image

image

Sayfayı çalıştırdığınızda “F5”, aşağıdaki gibi bir görüntü elde ediyorum. Benimki neden böyle görünmüyor demeyin çünkü birkaç stil ayarıda yaptım.

image

Source” kısmında şu değişiklikleri yaptım.

            <asp:Label runat="server" ClientIDMode="Predictable" Visible="False" ID="userId"Text='' />
<asp:Label runat="server" ClientIDMode="Predictable" ID="ad" Text='' />
<asp:Label runat="server" ClientIDMode="Predictable" ID="soyad" Text='' />

Böylece yukarıdaki görünümü elde edebilirsiniz.. Sayfa çalışırken listelenen verilerimizin üzerine gelindiğine çıkacak olan ModalPopup Layer’ını HTML olarak geliştirelim. Bunu “Source” alanında Item Template tag’ının içinde en üst’e yazıyoruz. Bu şekildeki yapıları ilk önce ayrı bir HTML dosya içinde yadıktan sonra web sayfa kodunuza eklerseniz çok daha kolay çalışabilirsiniz.. Ben bir adet HTML sayfayı projeye ekliyorum. Sonra da HTML bilgim ile hoş basit bir yapıyı kodluyorum..

image

HTML ile şu kodu yazdım..

<div id='' style="width: 300px; height: 50px; visibility: hidden;    position: absolute; left: 150px; border: 1px solid navy; padding: 10px;">
                      <img id="img_res" src="facebook-pop-dialog-sprite.png" width="40px" height="40px"style="border: 1px navy solid;" />
  Ad? :
  Soyad? :


Yorum bırakın

FusionChart ile Grafik Oluşturma

Bu görsel dersimizde Fusion Chart aracını kullanarak görsel grafikler oluşturarak kullanıcıları cezbeden uygulamalar nasıl geliştirebileceğimizi anlatıyor olacağım. Basit bir uygulama ile Fusion Chart’ları nasıl kullanacağımızı ve uygulamalarımızda bu güzel grafikleri nasıl oluşturacağımızı anlatıyorum.

Fusion Chart aracının ücretsiz versiyonunu buradan indirebilirsiniz..

Video – 1

http://content.screencast.com/users/MaviSeffaf/folders/Default/media/9918070a-4b33-4639-9f9f-8fd54ed0075b/bootstrap.swf

Videoyu indir !

Video – 2

http://content.screencast.com/users/MaviSeffaf/folders/Default/media/7fc6615d-429f-45d8-b11b-bf278d2e9426/bootstrap.swf

Videoyu indir !

Uygulamanın form görünümü..

KODLAR

Form1.cs


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Xml.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace LearnFusionChart

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void CreateXML(DataGridView dgv)

        {

            XDocument xDoc = XDocument.Load(Application.StartupPath + "\\" + "FusionChartFiles" + "\\" + "Line2D.xml");

            XElement root = xDoc.Root;

 

            root.Elements().Remove();

 

            DataTable dt = dgv.DataSource as DataTable;

 

            root.Attribute("caption").Value = "Aylık Satışlarım";

            root.Attribute("subcaption").Value = "2009 Yılı için";

            root.Attribute("xAxisName").Value = "Aylar";

            root.Attribute("yAxisName").Value = "Satislar";

            root.Attribute("numberPrefix").Value = "TL";

            root.Attribute("yAxisMinValue").Value = dt.Compute("MIN(Satışlar)", null).ToString();

 

            foreach (DataRow dr in dt.Rows)

            {

                XElement element = new XElement("set",

                    new XAttribute("name", dr["Aylar"].ToString().Substring(0, 3)),

                    new XAttribute("value", dr["Satışlar"].ToString()),

                    new XAttribute("hoverText", dr["Aylar"].ToString()));

 

                root.Add(element);

            }

 

            xDoc.Save(Application.StartupPath + "\\" + "FusionChartFiles" + "\\" + "Line2D.xml");

            xDoc = null;

        }

 

 

        private void btnDataTableOlustur_Click(object sender, EventArgs e)

        {

            DataTable dt = new DataTable();

            dt.Columns.AddRange(

                new DataColumn[]

                {

                    new DataColumn("Aylar"),

                    new DataColumn("Satışlar")

                });

 

 

            Random rnd = new Random();

            DataRow dr = null;

 

            for (int i = 1; i <= 12; i++)

            {

                dr = dt.NewRow();

 

                dr["Aylar"] = DateTime.Parse("01." + i.ToString() + ".2009").AddMonths(0).ToString("MMMM");

                dr["Satışlar"] = rnd.Next(0, 100).ToString();

 

                dt.Rows.Add(dr);

            }

 

            this.dataGridView1.DataSource = dt;

        }

        private void btnGrafik_Click(object sender, EventArgs e)

        {

            this.CreateXML(this.dataGridView1);

 

            this.webBrowser1.Navigate(

                Application.StartupPath + "\\" + "FusionChartFiles" + "\\" + "Line2D.html");

        }

    }

}


Line2D.xml


<graph caption='Monthly Sales Summary' subcaption='For the year 2004'

       xAxisName='Month' yAxisMinValue='15000' yAxisName='Sales'

       decimalPrecision='0' formatNumberScale='0' numberPrefix='$'

       showNames='1' showValues='0'  showAlternateHGridColor='1'

       AlternateHGridColor='ff5904' divLineColor='ff5904' divLineAlpha='20'

       alternateHGridAlpha='5' >

   <set name='Jan' value='17400' hoverText='January'/>

   <set name='Feb' value='19800' hoverText='February'/>

   <set name='Mar' value='21800' hoverText='March'/>

   <set name='Apr' value='23800' hoverText='April'/>

   <set name='May' value='29600' hoverText='May'/>

   <set name='Jun' value='27600' hoverText='June'/>

   <set name='Jul' value='31800' hoverText='July'/>

   <set name='Aug' value='39700' hoverText='August'/>

   <set name='Sep' value='37800' hoverText='September'/>

   <set name='Oct' value='21900' hoverText='October'/>

   <set name='Nov' value='32900' hoverText='November' />

   <set name='Dec' value='39800' hoverText='December' />

</graph>


Line2D.html


<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>FusionCharts Free Documentation</title>

<link rel="stylesheet" href="../Contents/Style.css" type="text/css" />

<script language="JavaScript" src="../JSClass/FusionCharts.js"></script>

</head>

 

<body>

<table width="98%" border="0" cellspacing="0" cellpadding="3" align="center">

  <tr>

    <td valign="top" class="text" align="center"> <div id="chartdiv" align="center">

        FusionCharts. </div>

      <script type="text/javascript">

           var chart = new FusionCharts("../Charts/FCF_Line.swf", "ChartId", "600", "350");

           chart.setDataURL("Data/Line2D.xml");          

           chart.render("chartdiv");

        </script> </td>

  </tr>

  <tr>

    <td valign="top" class="text" align="center"> </td>

  </tr>

  <tr>

    <td valign="top" class="text" align="center"><a href="Data/Line2D.xml" target="_blank"><img src="../Contents/Images/BtnViewXML.gif" alt="View XML for the above chart" width="75" height="25" border="0" /></a></td>

  </tr>

</table>

</body>

</html>


Projeyi buradan indirebilirsiniz..