Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

ASP.NET ile Küçük Bir DataGrid Çalışması

Konu, 'ASP.NET / Silverlight / Moonlight' kısmında muharrem_tac tarafından paylaşıldı.

  1. muharrem_tac

    muharrem_tac Bilgisayarcý

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    3,948
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    http://www22.brinkster.com/cafeelite/datagrid.aspx ardesine DataGrid ile yapılmış bir çalışma attım.Kaynak kodları da aynı yerde.

    Fakat açık söyleyeyim bu basit çalışmayı yaparken günlerimi gecelerimi harcadım.Çok basit bir sorun yüzünden.Burada da söyleyelim ki www.brinkster.com 'da test çalışmaları yapan arkadaşlar da benim sıkıntımı çekmesinler.Sorun şu:
    Visual Studio .NET CodeBehind yani arka plan kodlarını kullanıyor.Sizin çalışma yaptığınız sayfa sayfaniz.aspx uzantısı ile kaydediliyor ve bu sayfanızın VB.NET kodları sayfaniz.aspx.vb bir başka sayfada bulunuyor.Sayfanizdan bu VB kodlarına da şöyle referans veriliyor:

    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="sayfaniz.aspx.vb" Inherits="sayfaniz"%>

    Buradaki Inherits de sizin VB kodlarını yazarken oluşturulan class (sınıf) ismi.Bu şekildeki bir çalışma neticesinde roottaki bin dizininde bir .dll dosyası oluşturuluyor.Fakat brinkster bu şekildeki bir çalışmayı kabul etmiyor.Nedeni güvenlik olabilir.

    Ya ne olacak?Yazdığınız kodları burada benim yaptığım gibi <script language="vb" runat="server"></script> tagları arasına yazmak.Maalesef böyle bir çalışmada VB kodlarında kod tamamlama (intellisense) özelliği çalışmıyor HTML'de ise durum normal.Yani kod tamamlama aktif.
     
    Son düzenleme yönetici tarafından yapıldı: 5 Şubat 2003
  2. Mingitau

    Mingitau Misafir

    Ya da bilmemne.vb
    dosyasındaki kodları
    bilmemne.aspx
    in baş tarafına
    <script></script> ile eklemek ? ;) Hem kod tamamlat hemde çalıştır...:D
     
  3. muharrem_tac

    muharrem_tac Bilgisayarcý

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    3,948
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    Ben de öyle yapıyorum zaten.Ama nedir arada birsürü fark var.Misal bir buton,bir text kutusu bir de label 'den oluşan basit bir sayfada Visual Studio .NET şöyle bir kod yazıyor:
    bilmemne.aspx kodu:
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="bilmemne.aspx.vb" Inherits="datagrid2.bilmemne"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title>bilmemne</title>
    <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
    <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
    <asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
    <asp:Label id="Label1" runat="server"></asp:Label>
    </form>
    </body>
    </HTML>
    bilmemne.aspx.vb kodu:

    Public Class bilmemne
    Inherits System.Web.UI.Page
    Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label

    #Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
    'CODEGEN: This method call is required by the Web Form Designer
    'Do not modify it using the code editor.
    InitializeComponent()
    End Sub

    #End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Put user code to initialize the page here
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Label1.Text = "Merhaba " + TextBox1.Text
    End Sub
    End Class

    Oysa ki tek yapılması gereken şu:

    <%@ Page Language="vb"%>
    <script language=vb runat=server>
    Sub tikla(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Label1.Text = "Merhaba " + TextBox1.Text
    End Sub
    </script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//TR">
    <HTML>
    <HEAD>
    <title>bilmemne</title>
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
    <asp:Button id="Button1" runat="server" Text="Button" OnClick="tikla"></asp:Button>
    <asp:Label id="Label1" runat="server"></asp:Label>
    </form>
    </body>
    </HTML>

    Bu durum bana biraz daha normal geliyor.Alışık olduğumuz kod biçimi de bu zaten.

    Bu arada bilmemne.aspx dosyasının adresi:

    http://www22.brinkster.com/cafeelite/bilmemne.aspx
     
    Son düzenleme yönetici tarafından yapıldı: 5 Şubat 2003
  4. SGurel

    SGurel Üye

    Kayıt:
    28 Ocak 2003
    Mesajlar:
    180
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgi İşlem Sorumlusu
    Şehir:
    İzmit
    Selam ile,
    Datagrid'e kod yazdırırken .vb ekli bir dosya kullanmadım şimdiye kadar. Galiba editörlerimiz farklı ya da yöntemlerimiz. Ben datagrid denemelerimi WebMatrix ile yaptım. Verileri datagrid ile "Sözler" ve bu veritabanındaki verileri editleyebildiğiniz "Sözler edit" örneklerini http://www30.brinkster.com/rehberco/index/prlist.asp?Sira=2 adresinden indirip inceleyebilirsiniz. Ayrıca Sözler örneğinin çalışan hali http://www.brinkster.com/rehber/bilbul/palindrom.aspx te palindromların gösteriminde kullandım.
    Demek istediğim muhakkak .vb uzantılı dosya kullanımı gerekmiyor galiba. Ne dersiniz?
    Kolay gelsin
    Kolay gelsin
     
  5. Çakya Muni

    Çakya Muni Üye

    Kayıt:
    4 Şubat 2003
    Mesajlar:
    60
    Beğenilen Mesajlar:
    0
    Şehir:
    ???????
    Tabii ki Gerekmiyor
    .vb yada .cs uzantılı yazdığın kodlar Code-Behind denilen yaılım tipinde gerçerli. VS.NET bir web aplication için oluşturulken tün kodları bir dll haline geitriyor ve kodlar bu DLL üzeirnde çalışıyor, bu da kodların daha hızlı çalışmasını sağlıyor.

    Brinkster de bu şekilde çalışmamasının sebebi global.asa kullanamoyor olmakla aynı,. Birnkster her kullanıcı için bir IIS Aplication açmıyor, bunun yerine var olan bir IIS Aplication da bir klasör açıyor bu durumda ise DLL kullanma yada global.asa(x) kullanman mümkün olmuyor.
     
  6. muharrem_tac

    muharrem_tac Bilgisayarcý

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    3,948
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    Tabii bunu duyunca hemen sormak lazım.IIS 'de application açmadan nasıl klasör açabiliriz?
     
  7. Çakya Muni

    Çakya Muni Üye

    Kayıt:
    4 Şubat 2003
    Mesajlar:
    60
    Beğenilen Mesajlar:
    0
    Şehir:
    ???????
    var olan aplicationlar içinde MKdir, MD, sağ tıklayıp yeni klasör diyerek oluştururulan her klasör Application açılmadan açılan klasör oluyor. (walla çok garip bir cümle oldu :D )

    yanii wwwroor üzerinde Muni diye bir klasör açarsan buna http://localhost/muni olarak erişebilirsin ancak muni klasörünün içine koyacağın global.asa dosyası çalışmayacaktır. çalışması için bunun IIS e virtual directory olarak tanımlanması gerekiyor.
     
  8. muharrem_tac

    muharrem_tac Bilgisayarcý

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    3,948
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    Teşekkürler.Böyle birşeyi hiç düşünmemiştim.Çak! Ya Muni
     
  9. Cengiz HAN

    Cengiz HAN Yeni Üye

    Kayıt:
    11 Mart 2003
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    yukarıdaki şekilde tanımlarsanız datagrid2 virtual dir. içinde çalıştırmanız gerekir ancak bunu directory en bagımsız çalıştırmak isterseniz şu şekile deneyebilirsiniz.

     
  10. muharrem_tac

    muharrem_tac Bilgisayarcý

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    3,948
    Beğenilen Mesajlar:
    0
    Meslek:
    Yazılım Geliştirici
    Şehir:
    İstanbul
    Öncelikle hoş geldiniz.
    Bu teknikle CodeBehind çalışacak mı?Artı dll'leri de upload etmemiz gerekiyor mu?
     
  11. Cengiz HAN

    Cengiz HAN Yeni Üye

    Kayıt:
    11 Mart 2003
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    sadece .vb ler yeterli oluyor