Asp.Net 2.0 Veri tabanındaki veriyi yazdırma

   SQL veri tabanı için:

     App_Data klasörün içinde aspnetdb.mdf adında bir veritabanı olduğunu varsayalım.Bu veritabanı içinde makale adında bir tablomuz olsun.Tablomuzun alanları makaleid,Baslik,tarih,makale . Bu veritabanındaki  makale tablosuna daha önceden kaydettiğimiz verileri çekeceğiz. Sayfanızın başına import tagını koymayı unutmayınız. kod <% başlıyıp %> biten kısmını ise veri tabanında verileri sayfanızda yazdırmak istediğiniz yere uygulayınız..

makaleGoster.aspx

<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<%

    string bg = ConfigurationManager.ConnectionStrings["LocalSqlserver"].ConnectionString;
    sqlConnection baglanti1 = new SqlConnection(bg);
    string strsql="Select * from makale where(makaleid=@makaleid)";
    SqlCommand komut = new SqlCommand (strsql,baglanti);
    komut.Parameters.AddWithValue("@makaleid",Convert.ToInt32(Request.QueryString["makaleid"]));
    komut.Connection=baglanti;
    baglanti.Open();
    SqlDataReader oku=komut.ExecuteReader();
    {
        if(oku.Read())
        {
            Response.Write("<br/>"+oku["makale"]);
        }
    }
%>


    Buradaki "string bg = ConfigurationManager.ConnectionStrings["LocalSqlserver"].ConnectionString; " satırını  web.config dosyasındaki connectionString bloğunu kendinize göre ayarlayınız.

<connectionStrings>
     
<add name="LocalSqlserver"
       connectionString="Data Source=.\SQLEXPRESS;Integrated Security=True; User Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf;" providerName="System.Data.SqlClient">
     
</add>
  </connectionStrings>


   Access veritabanı için:

    App_Data klasörün içinde aspnetdb.mdb adında bir veritabanı olduğunu varsayalım.Bu veritabanı içinde makale adında bir tablomuz olsun.Tablomuzun alanları makaleid,Baslik,tarih,makale . Bu veritabanındaki  makale tablosuna daha önceden kaydettiğimiz verileri çekeceğiz. Sayfanızın başına import tagını koymayı unutmayınız. kod <% başlıyıp %> biten kısmını ise veri tabanında verileri sayfanızda yazdırmak istediğiniz yere uygulayınız..

  makaleGoster.aspx:

<%@ Page Language="C#" Debug="true" %>
 <%@ Import Namespace="System.Data" %>
 <%@ Import Namespace="System.Data.OleDb" %>

 <%

    OleDbConnection baglanti = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=" + Server.MapPath("~/App_Data/aspNetDb.mdb"));
    string strsql="Select * from makale where(makaleid=@makaleid)";
    OleDbCommand komut=new OleDbCommand(strsql,baglanti);
    komut.Parameters.AddWithValue("@makaleid",Convert.ToInt32(Request.QueryString["makaleid"]));
    komut.Connection=baglanti;
    baglanti.Open();
    OleDbDataReader oku=komut.ExecuteReader();
    {
        if(oku.Read())
        {
            Response.Write("<br/>"+oku["makale"]);
        }
    }
  
  %>



Asp.Net 2.0 veri tabanına Veri Ekleme

   SQL veri tabanı için:

   App_Data klasörün içinde aspnetdb.mdf adında bir veritabanı olduğunu varsayalım.Bu veritabanı içinde yorum adında bir tablomuz olsun.Tablomuzun alanları yorumid,Adsoyad,baslik,Yorum . Tablomuzdaki yorumid alanını ben kendi veritabanımda otomatik tam sayı yaptığımdan buraya bir daha veri ekletmeme gerek yoktur. Kodları makaleGoster.aspx sayfada bulunan button1 click olayına yazacağız.

makaleGoster.aspx.cs   

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class makaleGoster : System.Web.UI.Page

    protected void Button1_Click(object sender, EventArgs e)
    {

       string bg = ConfigurationManager.ConnectionStrings["LocalSqlserver"].ConnectionString;
       sqlConnection baglanti1 = new SqlConnection(bg);
       string ins = "Insert into yorum (Adsoyad,Baslik,yorum) Values (@Adsoyad,@Baslik,@yorum)";
       SqlCommand komut1 = new SqlCommand(ins, baglanti1);
       komut1.Parameters.AddWithValue("@Adsoyad", Server.HtmlEncode(Adsoyadtxt.Text));
       komut1.Parameters.AddWithValue("@Baslik", Server.HtmlEncode(Basliktxt.Text));
       komut1.Parameters.AddWithValue("@yorum", Server.HtmlEncode(Yorumtxt.Text));
       baglanti1.Open();
       komut1.ExecuteNonQuery();
       baglanti1.Close();

   }

}

 web.config dosyasındaki connectionString bloğunu kendinize göre ayarlayınız.

<connectionStrings>
     
<add name="LocalSqlserver"
       connectionString="Data Source=.\SQLEXPRESS;Integrated Security=True; User Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf;" providerName="System.Data.SqlClient">
     
</add>
  </connectionStrings>

 Access veritabanı için:

    Aynı şekilde App_Data klasörün içinde aspnetdb.mdb  adında bir veritabanı olduğunu varsayalım.Bu veritabanı içinde yorum adında bir tablomuz olsun.Tablomuzun alanları yorumid,Adsoyad,baslik,Yorum . Tablomuzdaki yorumid alanını ben kendi veritabanımda otomatik tam sayı yaptığımdan buraya bir daha veri ekletmeme gerek yoktur. Kodları makaleGoster.aspx sayfada bulunan button1 click olayına yazacağız.

makaleGoster.aspx.cs

using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class makaleGoster : System.Web.UI.Page
{

      protected void Button1_Click(object sender, EventArgs e)
    {

        OleDbConnection baglanti2 = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("~/App_Data\\AspNetDB.mdb"));
         string ins = "Insert into yorum (adsoyad,baslikyorum,yorum) Values (@Adsoyad,@Baslik,@yorum)";
         OleDbCommand komut2 = new OleDbCommand(ins, baglanti2);
          komut2.Parameters.AddWithValue("@Adsoyad", Server.HtmlEncode(Adsoyadtxt.Text));
          komut2.Parameters.AddWithValue("@Baslik", Server.HtmlEncode(Basliktxt.Text));
          komut2.Parameters.AddWithValue("@yorum", Server.HtmlEncode(Yorumtxt.Text));
          baglanti2.Open();
          komut2.ExecuteNonQuery();
          baglanti2.Close();

    }

}

 Projeleriniz sayfalarınız cs uzantılı dosyalarında SQL için using System.Data.SqlClient, Access için  System.Data.OleDb sayfanızın başına eklemiyi unutmayın...



Asp.NET te textboxa html tag yazmak.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MakaleGoster.aspx.cs" Inherits="MakaleGoster" ValidateRequest ="false" %>

Eğer textbox içine html taglarını yazarsak bir hata ile karşılaşırız.Bunu ValidateRequest ="false" yaparak engeleyebiliriz.



PROFİLLER

Profillerin Tanımlanması 

Profiller yapısal olarak verileri bir veri kaynağında bulunur. Bu veri kaynağıda veri tabanıdır.Web.config dosyasındaki tanımıda aşağıda verilmiştir.


<profile defaultProvider ="AspNetSqlProfileProvider3">
    <providers >
            <add name ="AspNetSqlProfileProvider3" connectionStringName="profil" applicationName="/"     
                     type="System.Web.Profile.SqlProfileProvider"/> 
     </providers>
     <properties>
              <
add name ="ad" allowAnonymous="true" defaultValue="merhaba"/>
              <
add name ="soy_ad" allowAnonymous="true"/>
              <add name ="sevdigi_renk" allowAnonymous="true" type="System.Drawing.Color" serializeAs="Binary"/>
              <
add name ="ce" allowAnonymous="true"/>
      </properties>
</profile>

Yukarıdaki metne biraz açıklık getirelim. allowAnonymous bu tanımı yapmazsak profilleri anonim profil olarak kullanamayız. Type ile profilimizin tipi belirliyoruz. Type ile profilimizin tipini belirlemezsek tipi otomatik men string olur.

ASP NET Kullanılan Veri tabanlarının yapılandırılması

Provider kullanmamız için veri tabanını yapılandırmamız gerekiyor.Asp Net 2 sistemin kendisi için kullanıdığı veritabanı tabloları bulunmaktadır.Bu veritabanı Framework gelir ve yapıldırılması gerekir.Bunun için Framework dosyasının bulunduğu klasöre gidin.

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 

Yukarıdaki dizinin içinde bulunan aspnet_regsql.exe çalıştırın.

Karşınıza yukarıdaki ekran gelicektir .Buraya next butonuna tıklayarak bir sonraki adıma geçin

Configure SQL Server for application services seçeneği seçili olarak gelecektir. Burada bir değişiklik yapmadan next butonuna tıklayarak bir sonraki aşamaya geçiniz.

Server kısmına server adını yazarak serverda daha önceden oluşturduğumuz bir veritabanını database kısmından seçerek next butonuna tıklayarak bir sonraki aşamaya geçiniz.

Karşımıza gelen aşama yada ileri diyerek Veritabanını yapılandırmış oluruz.

<connectionstrings>
<add  connectionstring="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|ASPNETDB.mdf;User Instance=true" name="profil" providername="System.Data.SqlClient">
</add>
</connectionstrings>

Böyle connectionString tanımlamalıyız. Çünkü

  <providers >
            <add name ="AspNetSqlProfileProvider3" connectionStringName="profil" applicationName="/"    
                     type="System.Web.Profile.SqlProfileProvider"/> 
   </providers>
Providerslarda name i hangi provider kullanıcağımızı belirtmek için type ise provider tipini belirtmek için kullanırız.

Profillerin kullanımı:

Önceden web.config dosyasında tanımladığımız profilleri aşağıdaki resimdeki gibi çağırabiliriz ve Profillere değerler atıyabiliriz.


Profile.ad = "okan";
Profile.soy_ad = "kacan";
Profile.sevdigi_renk = Color.Red;
Label1.BackColor = Profile.sevdigi_renk;

Profil Özelliklerini grup Halinde Tanımlanması


<properties>
        <add allowanonymous="true" defaultvalue="merhaba" name="ad"> </add> 
        <add allowanonymous="true" name="soy_ad"> </add>
        <add allowanonymous="true" name="sevdigi_renk" serializeas="Binary" type="System.Drawing.Color"> </add>
        <add allowanonymous="true" name="ce"> </add>
  <group name="detaylar">
        <add allowanonymous="true" name="numara"> </add>
        <add allowanonymous="true" name="giris_tarihi" type="date"> </add>
        <add allowanonymous="true" name="cinsiyet"> </add>
        <add allowanonymous="true" name="adres"> </add>
  </group>
</properties>

Öncelikle grup tagı kullanıyoruz ve isim veriyoruz grupta bulunacak özellikleri ekliyoruz.Bu gruplarıda böyle çağırıyoruz:

Profile.detaylar.numara
Profile.detaylar.giris_tarihi

Aşağıda Profillerle ilgili bi örnek bulabilirsiniz.

Profil örnek indirin isterseniz



 Membership Kontrolleri

Daha önceki yazılarımızda Mssql veritabanını nasıl yapılandırıldığı göstermiştik. Yapılandırdığımız veritabanında aspnet_Membership tablosu oluşturuldu.Bu tablo bize veritabanına üye kaydı yapmamızı sağlıyor. Aşağıda membership web.config dosyasına  nasıl yazıldığı bulunuyor.

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"
 
<appSettings>
    
<add key="LocalSqlserver" value="Server=(local);Database=aspnetdb;uid=sa;pwd=sa;"
/> 
 
</appSettings
>
 
<connectionStrings>
     
<add name="LocalSqlserver"
       connectionString="
Data Source=.\SQLEXPRESS;Integrated Security=True; User Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf;" providerName="System.Data.SqlClient">
     
</add>
  </connectionStrings
>
 
<system.web>
   
<membership defaultProvider="Sqlprovider"  userIsOnlineTimeWindow="30">
 
      
<
providers
>
   
<add name="SqlProvider"
             type="System.Web.Security.SqlMembershipProvider"
             connectionStringName="LocalSqlserver"
             requiresQuestionAndAnswer="true"
             applicationName="/"
             requiresUniqueEmail="false"
             minRequiredPasswordLength="6"
             minRequiredNonalphanumericCharacters="0"
             requiresUniqueEmail="true"
             requiresQuestionAndAnswer="true"/>
     
</providers>
   </membership>
 
</system.web>
 
</configuration>

       Name Provider Adı , Type tipi,ConnectionStringName Bağlantı stringimizin adı bunun tanımlı olması gerekiyor. applicationName="/" uygulamanın nerede çalışacağı "/" bu uygulamanın içinde çalışacağı anlamına gelir. minRequiredPasswordLength="6" Parolanın en az 6 karekter olacağını belirtir.

CreateUserWizard Kontrolü (kullanıcı Oluşturma)

        ToolBox sürükleyip sayfamıza bırakabiliriz. Bıraktığınız createuserwizard auto format kısmından isteğiniz üye oluşturma formatını seçebilirsiniz.Properties özelliklerinde usernameLabelText, PasswordLabelText, ConfirmPasswordLabelText, QuestionLabelText, AnswerLabelText yeni değerler girirek isimlerini değiştirebilirsiniz.
 

Login Kontorolü

       ToolBox'tan LoginView sayfamıza sürükleyip bırakınız.ToolBox'tan Login kontrolünü LoginView içinesürükleyip bırakınız.UserNameLabelText , PasswordLabelText ,LoginButtonTex ve RememberMeText özellikleri propertiesten yeni değerler girerek isimlerini değiştirebilrisiniz.
 

       Login kontrolünü LoginView içine atmamızın nedeni sisteme giriş yapan kayıtlı kullanıcılara hoş geldin sayfasını hazırlamak içindir. AnonymousTemplate yani site ziyaretcilerinin görebilmesi için LoggedInTemplate ise sadece veri tabanına kayıtlı kullanıcıları sayfadır




  <LoggedInTemplate> 
            Hoş Geldiniz <br  />
          <asp:LoginName ID="LoginName1" runat="server /> <br />
          <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutText="Çıkış" /> 
  </LoggedInTemplate>
 
  Bu kodlar ile sayfamıza giriş yapan üyelere Hoş geldin sayfasını göstermiş oluruz.Buradaki LoginName kontrolü kullanıcını adını LaginStatus ise kullanıcın çıkış yapmasını sağlar.



SİTE GEZİNİMİ (NAVİGATİON)

         Site içinde bir yerden başka bir yere gitmektir. Site geziniminde (navigation)en çok kullanılan yöntem menülerdir. Bu kontrolü kullanımı çok kolaydır. ToolBox alıp sürükleyerek hemen kullanabilirsiniz.

Menu Kontrolü

        Yapmanız gereken çok basit menü kontrolünü sayfanıza sürükleyip bırakmak task panel ile menü kontrolümüzü düzenleyebiliriz.

 

Örneğin buradan ekleme istediğiniz bir elemanı Add a root item ile yeni elemanlar ekleyebilir ve properties özeliklerin adını veya site nereye gideceği gibi pek çok özelliklerini değiştirebiliriz.

SiteMapPath Kontrolü

         SiteMapPath kontrolü Web.sitemap dosyasını arar. Sayfanın yapısı şu şekildedir.

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="Default.aspx" title="Ana sayfa">
<siteMapNode url="internet_program.aspx" title="internet" description="">
<siteMapNode url="asp.aspx" title="asp" description="" />
</siteMapNode>
</siteMapNode>
</siteMap>

        Bu dosyayı hazırladıktan sonra hangi sayfamızda bu kontrolü istiyorsak sayfamıza SiteMapPath ekleyerek bu özellikten yararlanabiliriz.

Skin 'ler

Skinler ile sayfalarımızda butonların, Label vb. font özeliklerini bir değiştirebiliriz. *.skin dosyasının içine yazdığımız kodlarla tüm sayfalarımızda bulunan kontrolleri değiştirebilir. Örneğin buton.skin dosyasının içine :

<asp:Label ID="Label1" runat="server" Font-Names="Verdana" Font-Size="X-Small" ForeColor="#004000"></asp:Label>
<asp:TextBox ID="Textbox1" runat="server" BorderColor="#004000" BorderStyle="Solid" BorderWidth="1" Font-Bold="True" Font-Names="Verdana" Font-Size="X-Small" ForeColor="#004000"></asp:TextBox>
<asp:Button ID="Button1" runat="server" BackColor="#82a677" BorderColor="#004000" BorderStyle="Solid" BorderWidth="1" Font-Bold="True" Font-Names="Verdana" Font-Size="X-Small" ForeColor="#004000" />

Bunu tüm sayfalarımız da kontrolünü sağlamak için web.config dosyasının içine:

<system.web>
</system.web> <pages theme="buton"> </pages>

Bu kodu yazarsak tüm sayfalarımızda bulunan butonlar, label ve textboxların font özeliklerini değiştirmiş oluruz. Bu skin etkisiz kılmaz için EnableTheming özeliğini false yapmamız gerekir. Sayfa bazında etkisiz bırakmak için :

<%@ page enabletheming="false" language="C#" " " %>

Sunucu kontrolünde ise Örneğin button2 için:

<asp:Button ID="Button2" runat="server" EnableTheming="false" Text="Button" />

CSS Dosyalarının Temalarla Kullanımı

Daha önce oluşturduğumuz App_Themes altındaki buton klasörünün içine *.css adına bir dosya oluşturun ve içine aşağıdaki kodları yazın.
A:link
{ color:black; text-decoration:none; }
A:hover
{ color:blue; text-decoration:underline overline; }

Böylece sayfalarımızdaki linklerin üzerine gelinince renginin mavi olması sağlandı.



VERİ KONTROLLERİ

Button : Toolbox button kontrolünü seçerek sayfamıza ekleyebiliriz. Button kontrolünün olaylar kısmına yazacağız kodlarla işlemler yaptırabiliriz.

button.aspx
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />

TextBox : Toolbox sürükleyip sayfamıza koyabiliriz. Properties kısmından bir çok ayarlaması yapılabilir.Örneğin  text özeliğine yazacağımız yazı ile içine yazı yazabiliriz. Textmode özeliği ile yazı karekterlerinin parola mı yada bir den fazla satırmı girileceği ayarlanabilir.Aşağıdaki örnek te olduğu gibi

Textbox.aspx
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine">okan kacan</asp:TextBox>

Image : Sayfamıza resim ekleyebiliriz. Properties özeliklerinden resimin ImageUrl belirterek height (büyüklüğünü) ,width (genişliğini) gibi ayarlamaları yapabiliriz.

Image.aspx
<asp:Image ID="Image1" runat="server" ImageUrl ="resimin yolu"/>

ImageMap :sayfa geziniminde fotoğraf veya resimler kullanırken oldukça faydalıdırlar.  Resim üzerini değişik bölgelere bölerek o bölgeye ait linkler vermemizi sağlar. 

ImageMap.aspx

<asp:ImageMap ID="ImageMap1" runat="server" HotSpotMode="Navigate" ImageUrl="~/resimler/kitaplarim.jpg"> <asp:RectangleHotSpot HotSpotMode ="Navigate" NavigateUrl="~/yeni/i_net.htm" AlternateText ="teknoloji" Top ="0" Left ="0" Bottom ="195" Right ="140"> </asp:RectangleHotSpot> </asp:RectangleHotSpot> </asp:ImageMap>

Calendar : Toolbox sürükleyip sayfamıza ekleyebiliriz.Takvim kontrolüne başlık konulabilirDiğer bir özellik UseAccessibleHeader’ dır. Bu özellik gün gösterimlerinin kalın olup olmamasını belirler. True false değerlerine göre takvim kontrolünün gün gösterimleri sayfada <td> veya <th> arasında yapılabilir. Takvim kontrolünde bir de yeni olay argümanı tanımı mevcuttur. DayRender olayının döndüğü argümanlara SelectUrl isimli yeni bir tanesi eklenmiştir. Bu argüman temel olarak link şeklindeki günlerden istediğimizde linkin URL’sini belirliyor

Calendar.aspx
<script id="Script1" runat="server">
void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day .IsToday ) 
     {
           string dayContents="<a href=\""+e.SelectUrl +"\">"+"Bugün"+"</a>"; e.Cell .Text =dayContents ; 
      }
}
</script>
<asp:Calendar ID="Calendar1" runat="server" Caption="Takvim" OnDayRender="Calendar1_DayRender" UseAccessibleHeader="False"></asp:Calendar>

AdRotator : sitenizde reklam gösteren bir kontroldür. Reklâmlar resimlerden, diğer bir ifade ile banner’lardan oluşur. Bu banner’ların sayfada gösterim periyodunu ve diğer özeliklerini belirleyen kontrol Adrotator’ dür. Adrotatör’ ün konfigürasyonu çok basittir. Yapmanız gereken resim linklerinin tanımının yapıldığı bir XML dosyası oluşturmak ve dosyayı adrotator bağlamaktır

Ad_rotator.aspx

<asp:AdRotator ID="AdRotator1”" runat=" server" AdvertisementFile="~/yeni/Reklamlar.xml" />

FileUpLoad : Temel olarak işlevi kullanıcı dosyalarını sunucuya yüklemektir.Bunun için bir arabirim sunar. Bu arabirimde bir metin kutusu ve buton tanımlıdır

FileUpload.aspx
<asp:FileUpload ID="FileUpload1" runat="server" />

GridView: Veri kontrolleri arasında en çok kullanılandır. Veri kaynağından gelen verileri kolayca göstermemizi sağlar.

Paging: bu özellik ver tabanımızın sıralama yapar.AllowPaging özelliğini true yaparız.PagerSettings özelliği ile bir sonraki sayfaya geçişin sayılarla veya resimlimi olacağını belirleriz. Pagesize özelliğiyle de sayfa başına kaç tane satır olacağını belirleriz.

ImageField: adından anlaşılacağı üzere resim tipindeki dosyaları gösteren alandır. GridView kontrolümüzde ver bağlanması yapıldığında ilgili resmin yol tanımı barındıran veritabanı alanı sutunu DataImageFlied özelliğiyle belirlenir.

ButtonField: 3 çeşit buton koyabiliriz.bunlar resim bunu seçersek ImageUrl yol tanımı belirtmemiz gerekli link ve buton dur.

HyperLink Field: Grid alanlarında önemli bi yeri vardır.linklerin nereye yönleneceğini belirler. “Nevigate Url” ile link ler tek bi adrese DataNevigateUrl ile her bil link nereye gideceği belirtilir

DataTextField: Link’in metin kısmını veri kaynağından gelecek hangi alanların olur.

DataNavigateURLFields: veritabanındaki karşılığı kullanımı: DataNavigateUrlFormatString= "detay.aspx?ADI={0}" Linke tıklandığında detay.aspx sayfasında ADI=”okan” olana gider




MASTER SAYFA
          
Asp.NET 2 ile gelen en kullanılışlı yeniliklerden biri master sayfalardır. Örneğin bir web sitesi tasarladığımızı düşünün sayfanın bazı yerleri değişmez (örneğin:menüler,banner vb.) bunlar master sayfanın konusunu oluşturur.

Master sayfalar aynen normal sayfalar gibi tasarlanır ancak uzantısı  *.master olarak kaydedilir. Buradaki ContentPlaceHolder dinamik yani sayfamızın  değişebilen kısmıdır.. Normal sayfalarımızı oluştururken select master pageişaretler gelen menüden master sayfamızı seçersek master sayfayı tanıtmış oluruz. Bir master sayfayı başka bir master sayfa içinde kullanabiliriz. Kullanılan master sayfa, kullanan master sayfaya dahil olur. Buna İngilizcede nested (içiçe) denir. Aşağıdaki resimde master sayfası nasıl ekleneceği gösterilmiştir.

Yukarıdaki gibi eklediğiniz MasterPage.master sayfasında bulunan ContentPlacaHolder dinamik olan kısımdır. Master sayfanızı oluşturduktan sonra oluştucağınız sayfalarda master sayfayı kullanmak için Select master page işaretleyip karşınıza gelen menuden master sayfayı seçerek kullanabilirsiniz.

Master sayfalarınız her sayfaya farklı title,keywords veya description meta tagları eklemek isteyebilirsiniz. Google'da sayfalarınız aratırken description ve keywords meta tagları önemlidir. Bunun için Sayfanızım cs uzantısında değişiklikler yapmanız gerekir.

*.aspx.cs :
   protected void Page_Load(object sender, EventArgs e)
    {
        this.Master.Page.Title = "Web Bilgileri";
        HtmlMeta metakeywords = new HtmlMeta(); 
        HtmlMeta metadescription = new HtmlMeta();
        metakeywords.Name = "Keywords";
        metadescription.Name = "description";
        metakeywords.Content = "Asp.net,asp net ";
        metadescription.Content = "Master Sayfa Kullanımı ";   
        this.Master.Page.Header.Controls.Add(metakeywords);
        this.Master.Page.Header.Controls.Add(metadescription);
        this.Master.Page.SmartNavigation = true;
    }


Yukarıdaki kodların aciklaması ise "this.Master.Page.Title " Sayfanız broswer adı, "HtmlMeta metakeywords = new HtmlMeta();" sayfanıza keywors meta tagını eklemek için metakeywords adında bir değişken ekliyoruz.  "HtmlMeta metadescription = new HtmlMeta();" ise sayfanıza description meta tagını eklemek için gereken metadescription adında bir değişken ekliyoruz. "metakeywords.Content = " ";" ise google aratırken Anahtar kelimeler kullanıcıların sitenizi bulmak için kullandıkları sözcüklerdir. "metadescription.Content = " ";"  google aratırken site içeriğinin tanımı için kullanılıyor



ASP.NET 2 VERİ ERİŞİMİ

Asp.net 2 ile birlikte veri kaynaklarına erişime de yepyeni yaklaşımlar getirilmiş ASP.NET 2 veri ile olan ilişkimizi sağlar. Kod yazmadan veritabanıyla bağlantı yapabiliriz. bunu sayfamıza bir toolbox menüsünden data seçeneğinden AccessDatasource sayfamıza atarız.

Buradan configure data source tıklarız ve buradan veri tabanımızı seçeriz ve veritabanındaki alanları belirtiriz.

Daha sonra toolbox menüsünden GridView ekleriz ve oradan Choose Data Source’ dan AccessDataSource1 seçeriz. Böylece tek bir kod bile yazmadan veritabanımızı sayfamıza koyarız.

İNSERT , UPDATE, DELETE PARAMETRELERİ

İNSERT:veri girişi için kulladığımız parametredir.SqlDataSource properties özelliklerinden insert query'den command and Parameter açılır.burada parametreler belirtilir.SQL Komut

INSERT INTO SICIL (ADI, SOYADI, SEMT) VALUES (@isim_kriter, @soyad_kriter, @semt_kriter)


UPDATE : Veri güncelleme yani değiştirmek için kullanılır. SqlDataSource properties özelliklerinden insert query den command and Parameter açılır.burada parametreler belirtilir.SQL komutu

UPDATE SICIL SET ADI =@isim_kriter, SOYADI =@soy_kriter, SEMT =@semt_kriter WHERE (SOYADI=@soy_kriter)

DELETE : Veri tabanında kayıtlı olan veriyi silmek için kullanılır. SqlDataSource properties özelliklerinden insert queryden command and Parameter açılır.burada parametreler belirtilir.SQL komutu : DELETE FROM

SICIL WHERE (ADI =@ad_kriter)

Örnek:Veri Erişimi ve İnsert , Update, Delete parametreleri
örnek uygulama



« 1 2 »