Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx



Benzer belgeler
ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Bu gün dersimizde değişik web kontrollerinin kullanımını gösteren birkaç web sitesi hazırlayacağız. Önce Visual Studio 2005 i açalım.

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta

Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.

REQUEST QUERY STRING. Sayfalar: default.aspx ve sorgu_sayfasi.aspx. default.aspx sayfası: sorgu_sayfasi.aspx sayfası:

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

ASP.NET ile Bir Web Sitesi Oluşturma

MASTER PAGE SAYFASI KULLANIMI

Proje Uygulaması Video Marketi Oluşturmak

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

Interprise. Ülker İletişim Web Servisi. Bu doküman Ülker iletişim web servisi hakkında teknik açıklamaları içerir. İletişim web servisi web adresi :

Response : Sunucunun istemciye veri yollamasını

Bu uygulamayı yapabilmek için SQL Server'da Query Analyzer kullanabilmekle beraber, ADO.NET bilgisine sahip olmanız gerekir.

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

MT 373 Visual Basic Programlama Dersi

Timer İle arka plan renk değişimi

KONTROL YAPILARI (CONTROL STRUCTURES)

1 Aralık 2011 / Perşembe

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

C#.Net & Linq (Language Integrated Query)

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Resmin dosya adı tutulacaktır. Ve program yolu ile path(yolu ile) sayafaya eklenecektir.

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Visual Basic. Dosya İşlemleri

Ad Soyad : Fahri Dönmez Şube No : TBIL Öğrenci No : Bölüm : Bilgisayar Mühendisliği. Web Programlama Yrd. Doç. Dr.

24 Kasım 2011 / Perşembe

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

HESAP MAKİNASI YAPIMI

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

Görsel Programlama (Visual Programming)

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz.

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

1) Visual Studio da WebSiteemlakci adında yeni bir site oluşturuyoruz.

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

12 Ocak 2012 / Perşembe

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 9 Tema Kullanımı

SESSİON KULLANIMI. .Aşağıdaki Kodları da SessionDevam.asp adıyla kaydedelim. Language=VBScript Codepage="1254"%>

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü seçiyoruz

Çözüm :RadioButtonList1 kontrolunuekliyoruz.enableautopostback iaktifleştiriyoruz..

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 8 Durum Yönetimi

PROGRAMLAMA DERSİ 1. İNTERNET

BÖTE BİL. TEK. II DERSİ İÇİN HAZIRLANMIŞ DERS NOTLARININ BİR KISMI

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

Şekil 2.1. Bu bölümde ASP.Net platformumuzu açtığımızda Toolbox penceresindeki Standart bölümündeki kontrollerden bahsedeceğiz.(şekil 2.2) Şekil 2.

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

ASP.NET M U S T A F A K I L I Ç M C S E, M C D B A

Window Script Host. Message Box Kullanımı. Pupup(Acilir)Message Kullanımı. Arslan ACAR

İNTERNET TABANLI PROGRAMLAMA

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

Diziler İndisli Değişkenler

Proje 1. Arayüz Tasarımı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

İNTERNET TABANLI PROGRAMLAMA

SINIF İÇİ UYGULAMA KODLARI

İNTERNET TABANLI PROGRAMLAMA- 3.ders

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

VeriTabanı Uygulamaları

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

DOSYALARLA İLGİLİ ÖRNEKLER

MEKANİZMA TEKNİĞİ (7. Hafta)

HSancak Nesne Tabanlı Programlama I Ders Notları

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

Android Ders Notları

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Android ile SQLLite Veri Tabanı

7) Çoklu Formlar. Şekil7.1. Araç kutusundaki Add Form butonuna basarak projeye yeni bir form ekleyiniz.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Görsel Programlama (Visual Programming) 2.Hafta

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

Matematiksel Operatörler

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

MS Publisher Kullanım Hatırlatmaları

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

Transkript:

Durum Yönetimi Bu gün dersimizde durum yönetimine (state management) değineceğiz. Önce adı DurumYonetimi isimli yeni bir site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını ve App_Data dizinini silelim. Bunu yapmak için dosya ve dizini ayrı, ayrı sağ tuş ile tıklayıp delete seçeneğini seçelim. Web sitemize yeni bir sayfa eklemek için Website menüzünden Add New Item seçeneğini seçtikten sonra bu siteye adları BasitSayac.aspx Sifregir.aspx PreRenderOlay.aspx DurumYonetimOrnek.aspx KurabiyeOrnek.aspx SorguKatar.aspx SorguKatarAlan.aspx UyeleriKoru.aspx Sayfa1.aspx Sayfa2.aspx Olan sayfalar ekleyelim. BasitSayac.aspx Partial Class BasitSayac Private Sub cmdekle_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles cmdekle.click If Me.ViewState("Sayac") = Nothing Then Me.ViewState("Sayac") = 1 Else Me.ViewState("Sayac") = CType(Me.ViewState("Sayac"), Integer) + 1 lblsayac.text = "Sayaç: " & CType(Me.ViewState("Sayac"), Integer)

Aşağıdaki programda Session durumu kullanılmaktadır. Sifregir.aspx Partial Class Sifregir Protected Sub cmdbaglan_click(byval sender As Object, ByVal e As System.EventArgs) Handles cmdbaglan.click If Not Me.IsPostBack Then Session("SifreDeneme") = 0 Else Session("SifreDeneme") = Session("SifreDeneme") + 1 If txtsifre.text = "mt486" Then Session("SifreDeneme") = 0 ElseIf Session("SifreDeneme") >= 3 Then lblhata.text = "şifrenizi 3 defa hatalı girdiniz. artık şifre girmenize izin verilmeyecek" txtsifre.visible = False PreRenderOlay.aspx Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load txtx.text = "Merhaba arkadaşlar"

Protected Sub txtx_prerender(byval sender As Object, ByVal e As System.EventArgs) Handles txtx.prerender If Me.IsPostBack Then txtx.text = "İşini bitirdim" Sayfaları deneyiniz ViewState, bir istemci tarafından istenen bir sayfada bulunan web kontrollerinin değerlerini tekrar yerine koymak veya bu değerleri izlemek için kullanılır. Bu değerler sadece o sayfa için geçerlidir ve bir sayfadan diğer sayfaya ViewState ile aktarılamaz. ViewState bir sayfadaki kontrollerin değerlerini otomatik olarak yerine koyar. ViewState sayfa içinde VIEWSTATE adında gizli bir form elemanı içinde tututulur. Render olayını anlamak ve ViewState özelliğini anlamak için bir sayfanın sunucu içindeki yaşam döngüsünü anlatan aşağıdaki grafik yararlı olacaktır.

PreRender olayını ve ViewState özelliğini kullanan bir sayfa UyeleriKoru.aspx Partial Class UyeleriKoru Private BilgiSakla As String Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load If Me.IsPostBack = True Then ' Değişkeni geri yükle BilgiSakla = CType(Me.ViewState("Text"), String) Private Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles MyBase.PreRender ' Persist variables. Me.ViewState("Text") = BilgiSakla Private Sub cmdkaydet_click(byval sender As Object, ByVal e As EventArgs) _ Handles cmdkaydet.click ' Metin kutusundaki bilgiyi BilgiSakla değişkenine yükle BilgiSakla = txtbilgi.text txtbilgi.text = "" Private Sub cmdyukle_click(byval sender As Object, ByVal e As EventArgs) _ Handles cmdyukle.click 'BilgiSakla değişkenindeki bilgiyi Metin kutusuna yükle txtbilgi.text = BilgiSakla

Session durumuna bir başka örnek olarak aşağıda verilen ve bir sınıfın bilgilerini bir oturum boyunca saklayan sayfa örneğini inceleyelim. Öncelikle bu sayfada kullanılacak olan Mobilya sınıfını oluşturabilmek için App_Code dizini içinde Mobilya.vb dosyası oluşturalım. Bu dosya içe aşağıdaki kodu yazalım. Namespace DurumYonetim Public Class Mobilya Public Ad As String Public Betimleme As String Public Fiyat As Decimal Public Sub New(ByVal Ad As String, _ ByVal Betimleme As String, _ ByVal Fiyat As Decimal) Me.Ad = Ad Me.Betimleme = Betimleme Me.Fiyat = Fiyat End Namespace Şimdi DurumYonetimOrnek.aspx sayfamızı aşağıdaki gibi oluşturalım. DurumYonetimOrnek.aspx Imports DurumYonetim Partial Class DurumYonetimOrnek

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load If Me.IsPostBack = False Then ' Mobilya nesnelerini oluşturunuz Dim Esya1 As New Mobilya("Sofa", "Bellona", 74.99) Dim Esya2 As New Mobilya("Masa", "İstikbal", 866.75) Dim Esya3 As New Mobilya("Gardrop", "Tepe Mobilya", 300.11) aktarınız ' Mobilya nesnelerini uturum durumuna Session("Mobilya1") = Esya1 Session("Mobilya2") = Esya2 Session("Mobilya3") = Esya3 ' Add rows to list control. lstmobilyalar.items.clear() lstmobilyalar.items.add(esya1.ad) lstmobilyalar.items.add(esya2.ad) lstmobilyalar.items.add(esya3.ad) ' Oturum durumu ile ilgili bazı bilgileri göster ' Bu konfigürasyon durumunu ayarlamak için önemlidir lbldurum.text = "Durum ID: " & Session.SessionID lbldurum.text &= "<br>nesne Sayısı: " & Session.Count.ToString() lbldurum.text &= "<br>mode: " & Session.Mode.ToString() lbldurum.text &= "<br>kuarbiyesiz mi: " lbldurum.text &= Session.IsCookieless.ToString() lbldurum.text &= "<br>yeni mi: " & Session.IsNewSession.ToString() lbldurum.text &= "<br>zaman aşımı (dakika): " & Session.Timeout.ToString() Private Sub cmdayrıntı_click(byval sender As Object, ByVal e As EventArgs) _ Handles cmdayrıntı.click

If lstmobilyalar.selectedindex = -1 Then lblkayıt.text = "No item selected." Else ' Verilen indekse bağlı olarak doğru nesne anahtarını oluşturunuz Dim Key As String Key = "Mobilya" & (lstmobilyalar.selectedindex + 1).ToString() ' Nesneyi oturum durumunda alarak ekranda gösteriniz Dim Esya As Mobilya = CType(Session(Key), Mobilya) lblkayıt.text = "Ad: " & Esya.Ad & "<br>" lblkayıt.text &= "Üretici: " & Esya.Betimleme & "<br>" lblkayıt.text &= "Fiyat: " & Esya.Fiyat.ToString() & " YTL." Aşağıdaki iki sayfa Session Kullanarak bilgi aktarımına ve bir sayfadan diğerine geçmek için kullanılan response.redirect komutuna örnektir. Sayfa1.aspx Partial Class Sayfa1

Protected Sub cmdgitabsolute_click(byval sender As Object, ByVal e As System.EventArgs) Handles cmdgitabsolute.click Response.Redirect("http://localhost/mt486_I/DurumYonet/Say fa2.aspx") Protected Sub cmdgit_click(byval sender As Object, ByVal e As System.EventArgs) Handles cmdgit.click Response.Redirect("Sayfa2.aspx") Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Session("test") = "Test metin" Sayfa2.aspx Partial Class Sayfa2 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Session("test") <> "" Then lblbilgi.text = Session("test") & " başarılı bir şekilde oturum durumundan okundu" Else lblbilgi.text = " Oturum durumu bilgisi bulunamadı."

Sorgu katarı (QueryString ) kullanarak bilgi aktarımına örnek olarak aşağıdaki iki sayfa oluşturalım. SorguKatar.aspx SorguKatarAlan.aspx SorguKatar.aspx sayfasının kodu: Partial Class SorguKatar Private Sub Page_Load(ByVal sender As Object, _ ByVal e As EventArgs) Handles MyBase.Load ' Add sample values. lstmobilya.items.add("sofa") lstmobilya.items.add("tül Perde") lstmobilya.items.add("isparta Halı") lstmobilya.items.add("antik Lamba") lstmobilya.items.add("jakuzi") Private Sub cmdbilgiver_click(byval sender As Object, _ ByVal e As EventArgs) _ Handles cmdbilgiver.click If lstmobilya.selectedindex = -1 Then lblhata.text = "Önce bir mobilya _ seçmelisiniz." Else ' Kullanıcıyı bu verileri kullanan sayfaya yönlendir Dim Url As String = "SorguKatarAlan.aspx?"

Url &= "Mobilya=" & _ lstmobilya.selecteditem.text & "&" _ Url &= "DetayTercih=" & _ chkdetay.checked.tostring() Response.Redirect(Url) SorguKatarAlan.aspx sayfasının kodu : Partial Class SorguKatarAlan Private Sub Page_Load(ByVal sender As Object, _ ByVal e As EventArgs) Handles MyBase.Load lblbilgi.text = "Seçilen Mobilya: " & _ Request.QueryString("Mobilya") & "<br>" _ lblbilgi.text &= "Detay tercihi: " & _ Request.QueryString("DetayTercih")