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 Studio Web Developer Express SP1 önkoşulları
- ASP.NET MVC 3 Araçları Güncelleştirmesi
- SQL Server Compact 4.0(çalışma zamanı + araçlar desteği)
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.
Yeni denetleyicinize "HelloWorldController" adını verin ve Ekle'ye tıklayın.
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ü!
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]
.
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 numtimes
için name
farklı değerler deneyebilirsiniz. Sistem, adres çubuğundaki sorgu dizenizdeki adlandırılmış parametreleri otomatik olarak yönteminizdeki parametrelerle eşler.
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin