ASP.NET sunucu denetimlerine genel bakış

Bu makalede HTML sunucusu denetimleri, Web sunucusu denetimleri, Liste denetimleri vb. gibi ASP.NET sunucu denetimleri tanıtılmaktadır.

Orijinal ürün sürümü: ASP.NET
Özgün KB numarası: 306459

Bu makale, aşağıdaki Microsoft .NET Framework Sınıf Kitaplığı ad alanlarını ifade eder:

  • System.Web.UI.HtmlControls.HtmlControl
  • System.Web.UI.WebControls.WebControl

ASP.NET sayfa çerçevesindeki sunucu denetimleri

ASP.NET sayfa çerçevesi, Web için daha yapılandırılmış bir programlama modeli sağlamak üzere tasarlanmış bir dizi yerleşik sunucu denetimi içerir. Bu denetimler aşağıdaki özellikleri sağlar:

  • Otomatik durum yönetimi.
  • Nesneyi kullanmak zorunda kalmadan nesne değerlerine Request basit erişim.
  • Daha iyi yapılandırılmış uygulamalar oluşturmak için sunucu tarafı kodundaki olaylara tepki verebilme.
  • Web sayfaları için kullanıcı arabirimleri oluşturmaya yönelik yaygın yaklaşım.
  • Çıkış, tarayıcının özelliklerine göre otomatik olarak özelleştirilir.

Yerleşik denetimlere ek olarak, ASP.NET sayfa çerçevesi de kullanıcı denetimleri ve özel denetimler oluşturma olanağı sağlar. Kullanıcı denetimleri ve özel denetimler, çok daha zengin bir kullanıcı arabirimi oluşturmak için mevcut denetimleri geliştirebilir ve genişletebilir.

HTML sunucusu denetimleri

HTML sunucusu denetimleri, runat=server bir öznitelik içeren HTML öğeleridir. HTML sunucusu denetimleri, karşılık gelen HTML etiketleriyle aynı HTML çıkışına ve özelliklerine sahiptir. Ayrıca, HTML sunucu denetimleri otomatik durum yönetimi ve sunucu tarafı olayları sağlar. HTML sunucusu denetimleri aşağıdaki avantajları sunar:

  • HTML sunucusu denetimleri, karşılık gelen HTML etiketleriyle bire bir eşler.
  • ASP.NET uygulaması derlendiğinde, özniteliğiyle runat=server HTML sunucusu denetimleri derlemede derlenir.
  • Çoğu denetim, denetim için en yaygın kullanılan olay için bir OnServerEvent içerir. Örneğin, denetimin <input type=button> bir OnServerClick olayı vardır.
  • Belirli HTML sunucusu denetimleri olarak uygulanmayan HTML etiketleri sunucu tarafında kullanılabilir; ancak, derlemeye olarak HtmlGenericControleklenirler.
  • ASP.NET sayfası yeniden gönderildiğinde, HTML sunucusu denetimleri değerlerini tutar.

System.Web.UI.HtmlControls.HtmlControl Temel sınıf tüm ortak özellikleri içerir. HTML sunucusu denetimleri bu sınıftan türetilir.

HTML sunucusu denetimi kullanmak için aşağıdaki söz dizimini kullanın (örnek olarak denetimi kullanır HtmlInputText ):

<input type="text" value="hello world" runat=server />

ASP.NET'de kullanılabilen tek tek HTML sunucusu denetimleri hakkında daha fazla bilgi için aşağıdaki Web sitelerine bakın:

Web sunucusu denetimleri

Web denetimleri Button, TextBox ve Hyperlink gibi HTML sunucusu denetimlerine benzer, ancak Web denetimlerinin standartlaştırılmış bir özellik adları kümesi vardır. Web sunucusu denetimleri aşağıdaki avantajları sunar:

  • Üreticilerin ve geliştiricilerin kullanıcı arabirimini otomatik olarak oluşturan araçlar veya uygulamalar oluşturmasını kolaylaştırın.
  • HTML denetimlerinin nasıl çalıştığı hakkında daha az bilgi gerektiren etkileşimli Web formları oluşturma işlemini basitleştirin ve bunları kullanma görevini hatalara daha az eğilimli hale getirin.

System.Web.UI.WebControls.WebControl Temel sınıf tüm ortak özellikleri içerir. Web sunucusu denetimlerinin çoğu bu sınıftan türetilir.

Web sunucusu denetimi kullanmak için aşağıdaki söz dizimini kullanın (örnek olarak TextBox denetimini kullanır):

<asp:textbox text="hello world" runat=server />

Web sunucusu denetimleri dört kategoriye ayrılabilir:

  • Temel Web Denetimleri
  • Doğrulama Denetimleri
  • Liste Denetimleri
  • Zengin Denetimler

Temel web denetimleri

Temel Web denetimleri, HTML sunucu denetimi karşılıklarıyla aynı işlevselliği sağlar. Ancak, temel Web denetimleri üzerinde programlayabileceğiniz ek yöntemler, olaylar ve özellikler içerir.

ASP.NET'de kullanılabilen tek tek Web denetimleri hakkında daha fazla bilgi için aşağıdaki Web sitelerine bakın:

Doğrulama denetimleri

Doğrulama denetimleri, sayfanın diğer denetimlerine girilen değerleri doğrulamak için kullanılır. Doğrulama denetimleri, sayfanın görüntülendiği tarayıcının özelliklerine bağlı olarak istemci tarafı doğrulama, sunucu tarafı doğrulama veya her ikisini birden gerçekleştirir. Doğrulama denetimleri aşağıdaki avantajları sunar:

  • Doğrulamak istediğiniz her denetimle bir veya daha fazla doğrulama denetimi ilişkilendirebilirsiniz.
  • Doğrulama, sayfa formu gönderildiğinde gerçekleştirilir.
  • Doğrulamanın gerçekleşip gerçekleşmeyeceğini program aracılığıyla belirtebilirsiniz. Bu, kullanıcının tüm alanlarda geçerli verileri doldurmak zorunda kalmadan çıkabilmesi için iptal düğmesi sağlamak istediğinizde yararlıdır.
  • Doğrulama denetimleri, doğrulamanın istemci tarafında mı yoksa sunucu tarafında mı gerçekleştirilmesi gerektiğini otomatik olarak algılar.

Not

İstemci tarafı doğrulama, geri gönderme işlemi tamamlanmadan önce hataları yakalar. Bu nedenle, tek bir sayfada istemci tarafı ve sunucu tarafı doğrulama denetimlerinin birleşimleri varsa, istemci tarafı doğrulaması başarısız olursa sunucu tarafı doğrulaması ön plana çıkar. ASP.NET'de kullanılabilen tek tek doğrulama denetimleri hakkında daha fazla bilgi için aşağıdaki Web sitelerine bakın:

Liste denetimleri

Liste denetimleri, koleksiyonlara bağlamayı destekleyen özel Web sunucusu denetimleridir. Veri satırlarını özelleştirilmiş bir şablon biçiminde görüntülemek için liste denetimlerini kullanabilirsiniz. Tüm liste denetimleri, koleksiyonlara bağlanmak için kullanılan DataSource ve DataMember özelliklerini kullanıma sunar.

Liste denetimleri yalnızca IEnumerable, ICollection veya IListSource arabirimlerini destekleyen koleksiyonlara bağlanabilir. Örneğin, bir Visual C# .NET örnek sayfası aşağıdaki gibi görünür:

<%@ Page Language="C#" %>
<script runat="server">
    Public void Page_Load()
    {
        String[] myStringArray = new String[] {"one","two","three"};
        rptr.DataSource = myStringArray;
        rptr.DataBind();
    }
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

Visual Basic .NET örnek sayfası aşağıdaki gibi görünür:

<%@ Page Language="vb" %>
<script runat="server">
    public sub Page_Load()
        Dim myStringArray as String()
        myStringArray = new String() {"one","two","three"}
        rptr.DataSource = myStringArray
        rptr.DataBind()
    end sub
</script>
<html>
    <body>
        <asp:repeater id=rptr runat="server">
            <itemtemplate><%# Container.DataItem %><br></itemtemplate>
        </asp:repeater>
    </body>
</html>

Çıkış aşağıdaki gibi görünür:

  • Bir
  • Iki
  • Üç

ASP.NET'de kullanılabilen tek tek liste denetimleri hakkında daha fazla bilgi için aşağıdaki Web sitelerine bakın:

Zengin denetimler

Önceki denetimlere ek olarak, ASP.NET sayfa çerçevesi, zengin denetimler olarak adlandırılan göreve özgü birkaç denetim sağlar. Zengin denetimler birden çok HTML öğesiyle oluşturulur ve zengin işlevler içerir. Zengin denetimlere örnek olarak Takvim denetimi ve AdRotator denetimi verilebilir.

ASP.NET'de kullanılabilen tek tek zengin denetimler hakkında daha fazla bilgi için aşağıdaki Web sitelerine bakın:

Kullanıcı denetimleri

Genellikle, fazladan kod yazmak zorunda kalmadan Web Formunuzun kullanıcı arabirimini yeniden kullanmak isteyebilirsiniz. ASP.NET, Web Forms kullanıcı denetimlerine dönüştürerek bunu yapmanızı sağlar. .ascx dosya uzantısına sahip kullanıcı denetimleri, tek bir Web Formu içinde birden çok kez kullanılabilir.

Web Formunu kullanıcı denetimine dönüştürmek için şu adımları izleyin:

  1. Tüm <html>, <head>, <body>ve <form> etiketlerini kaldırın.
  2. @ Page Yönerge sayfada görünüyorsa olarak değiştirin@ Control.
  3. Kullanıcı denetiminin @ Control örneği oluşturulurken güçlü bir şekilde yazabilmesi için yönergesine bir className öznitelik ekleyin.
  4. Denetime açıklayıcı bir dosya adı verin ve dosya uzantısını .aspx olarak .ascx olarak değiştirin.

Kullanıcı denetimleri hakkında daha fazla bilgi için bkz. Web Forms Kullanıcı Denetimleri.

Özel denetimler

Yerleşik Web denetimlerine ek olarak, ASP.NET kendi özel denetimlerinizi oluşturmanıza da olanak tanır. Bu senaryolardan biriyle karşı karşıyaysanız özel denetimler geliştirmek yararlı olabilir:

  • İki veya daha fazla yerleşik Web denetiminin işlevselliğini birleştirmeniz gerekir.
  • Yerleşik denetimin işlevselliğini genişletmeniz gerekir.
  • Şu anda var olan denetimlerden farklı bir denetime ihtiyacınız vardır.

Özel denetimler geliştirme hakkında daha fazla bilgi için aşağıdaki konulara bakın: