Aracılığıyla paylaş


Denetleyici Ekleme (VB)

tarafından Rick Anderson

Bu öğreticide, Microsoft Visual Studio'nun ücretsiz sürümü olan Microsoft Visual Web Developer 2010 Express Service Pack 1'i kullanarak ASP.NET MVC Web uygulaması oluşturmanın temelleri öğretilecektir. Başlamadan önce, aşağıda listelenen önkoşulları yüklediğinizden emin olun. Aşağıdaki bağlantıya tıklayarak bunların tümünü yükleyebilirsiniz: Web Platformu Yükleyicisi. Alternatif olarak, aşağıdaki bağlantıları kullanarak önkoşulları tek tek yükleyebilirsiniz:

Visual Web Developer 2010 yerine Visual Studio 2010 kullanıyorsanız, aşağıdaki bağlantıya tıklayarak önkoşulları yükleyin: Visual Studio 2010 önkoşulları.

Bu konuya eşlik etmek için VB.NET kaynak koduna sahip bir Visual Web Developer projesi kullanılabilir. VB.NET sürümünü indirin. C# dilini tercih ediyorsanız bu öğreticinin C# sürümüne geçin.

MVC, model-görünüm denetleyicisi anlamına gelir. MVC, her bölümün ayrı bir sorumluluğu olacak şekilde uygulama geliştirmeye yönelik bir desendir:

  • Model: Uygulamanızın verileri.
  • Görünümler: Uygulamanızın DINAMIK OLARAK HTML yanıtları oluşturmak için kullanacağı şablon dosyaları.
  • Denetleyiciler: Uygulamaya gelen URL isteklerini işleyen, model verilerini alan ve ardından istemciye yanıt veren görünüm şablonlarını belirten sınıflar.

Bu öğreticide tüm bu kavramları kapsayan ve uygulama oluşturmak için bunları nasıl kullanacağınızı göstereceğiz.

Çözüm Gezgini'daDenetleyiciler klasörüne sağ tıklayıp Denetleyici Ekle'yi seçerek yeni bir denetleyici oluşturun.

AddController

Yeni denetleyicinize "HelloWorldController" adını verin ve Ekle'ye tıklayın.

2AddEmptyController

Sağ taraftaki Çözüm GezginiHelloWorldController.cs adlı yeni bir dosya oluşturulduğuna ve dosyanın IDE'de açık olduğuna dikkat edin.

Yeni public class HelloWorldController bloğun içinde aşağıdaki koda benzeyen iki yeni yöntem oluşturun. Örnek olarak doğrudan denetleyiciden bir HTML dizesi döndüreceğiz.

Namespace MvcMovie
    Public Class HelloWorldController
        Inherits System.Web.Mvc.Controller

        Public Function Index() As String
            Return "This is my default action..."
        End Function

        Public Function Welcome() As String
            Return "This is the Welcome action method..."
        End Function

    End Class
End Namespace

Denetleyiciniz ve HelloWorldController yeni yönteminiz olarak adlandırılır Index. Uygulamayı çalıştırın (F5 veya Ctrl+F5 tuşlarına basın). Tarayıcınız başlatıldıktan sonra adres çubuğundaki yola "HelloWorld" ekleyin. (Bilgisayarımda, bu http://localhost:43246/HelloWorld) Tarayıcınız aşağıdaki ekran görüntüsüne benzer. Yukarıdaki yöntemde kod doğrudan bir dize döndürdü. Sisteme biraz HTML döndürmesini söyledik ve geri döndü!

Bu, pencerede varsayılan eylemimdir metnini içeren tarayıcıyı gösteren ekran görüntüsü.

ASP.NET MVC, gelen URL'ye bağlı olarak farklı denetleyici sınıflarını (ve bunların içindeki farklı eylem yöntemlerini) çağırır. ASP.NET MVC tarafından kullanılan varsayılan eşleme mantığı, hangi kodun çağrıldığı denetlemek için aşağıdakine benzer bir biçim kullanır:

/[Controller]/[ActionName]/[Parameters]

URL'nin ilk bölümü yürütülecek denetleyici sınıfını belirler. Yani /HelloWorld sınıfına eşler HelloWorldController . URL'nin ikinci bölümü, yürütülecek sınıftaki eylem yöntemini belirler. Bu nedenle /HelloWorld/Index sınıfının yönteminin HelloWorldController yürütülmesine neden Index olabilir. Yukarıdaki /HelloWorld adresini yalnızca ziyaret etmek zorunda kaldığımıza ve yönteminin varsayılan olarak kullanıldığına Index dikkat edin. Bunun nedeni, adlandırılmış Index bir yöntemin açıkça belirtilmemişse bir denetleyicide çağrılacak varsayılan yöntem olmasıdır.

http://localhost:xxxx/HelloWorld/Welcome adresine gidin. Welcome yöntemi çalışır ve "Bu Hoş Geldiniz eylem yöntemidir..." dizesini döndürür. Varsayılan MVC eşlemesi şeklindedir /[Controller]/[ActionName]/[Parameters]. Bu URL için denetleyici HelloWorld ve Welcome yöntemidir. URL'nin bölümünü henüz kullanmadık [Parameters] .

Pencerede Hoş Geldiniz eylem yöntemi metnini içeren tarayıcıyı gösteren ekran görüntüsü.

Url'den denetleyiciye bazı parametre bilgilerini geçirebilmemiz için örneği biraz değiştirelim (örneğin, /HelloWorld/Welcome?name=Scott&numtimes=4). Aşağıda gösterildiği gibi yönteminizi Welcome iki parametre içerecek şekilde değiştirin. Bu parametre için bir değer geçirilmemesi durumunda parametrenin numTimes varsayılan olarak 1 olması gerektiğini belirtmek için VB isteğe bağlı parametre özelliğini kullandığımızı unutmayın.

Public Function Welcome(ByVal name As String, Optional ByVal numTimes As Integer = 1) As String
    Dim message As String = "Hello " & name & ", NumTimes is: " & numTimes
    Return "" & Server.HtmlEncode(message) & ""
End Function

Uygulamanızı çalıştırın ve adresine http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4 gidin. ve numtimesiçin name farklı değerler deneyebilirsiniz. Sistem, adres çubuğundaki sorgu dizenizdeki adlandırılmış parametreleri otomatik olarak yönteminizdeki parametrelerle eşler.

Pencerede Hello Scott Num Times 4 metnini içeren tarayıcıyı gösteren ekran görüntüsü.

Her iki örnekte de denetleyici MVC'nin VC bölümünü yapıyor, yani görünüm ve denetleyici çalışması. Denetleyici doğrudan HTML döndürer. Normalde denetleyicilerin doğrudan HTML döndürmesini istemeyiz, çünkü bu kod için çok hantal hale gelir. Bunun yerine genellikle HTML yanıtının oluşturulmasına yardımcı olmak için ayrı bir görünüm şablonu dosyası kullanacağız. Bunu nasıl yapabileceğimize bakalım.