Denetleyici Ekleme - ASP.NET MVC'nin Temellerini Tanıtır

tarafından Scott Hanselman

Not

Bu öğretici buradaVisual Studio 2013 kullanılarak kullanılabiliyorsa güncelleştirilmiş bir sürüm. Yeni öğreticide, bu öğretici üzerinde birçok geliştirme sağlayan ASP.NET MVC 5 kullanılır.

Bu, ASP.NET MVC'nin temellerini tanıtır. Veritabanından okuyan ve yazan basit bir web uygulaması oluşturacaksınız. Diğer ASP.NET MVC öğreticilerini ve örneklerini bulmak için ASP.NET MVC öğrenme merkezini ziyaret edin.

MVC, Model, Görünüm, Denetleyici anlamına gelir. MVC, her bölümün başka bir parçadan farklı 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 geri 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.

Şimdi çözüm Gezgini'nde denetleyiciler klasörüne sağ tıklayıp Denetleyici Ekle'yi seçerek yeni bir denetleyici oluşturalım.

AddControllerRightClick

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

Denetleyici Ekle İletişim Kutusu

Sağ taraftaki Çözüm Gezgini HelloWorldController.cs adlı yeni bir dosya oluşturulduğuna ve bu dosyanın artık IDE'de açıldığına dikkat edin.

HelloWorldControllerCode

Yeni genel sınıfınızın HelloWorldController içinde buna benzer iki yeni yöntem oluşturun. Örnek olarak doğrudan denetleyicimizden bir HTML dizesi döndüreceğiz.

using System.Web.Mvc;
 
namespace Movies.Controllers
{
    public class HelloWorldController : Controller
    {
        public string Index()
        {
            return "This is my default action...";      
        }
        
        public string Welcome()
        {  
            return "This is the Welcome action method...";
        }  
    }
}

Denetleyicinizin adı HelloWorldController ve yeni Yönteminiz Dizin olarak adlandırılır. Uygulamanızı daha önce olduğu gibi yeniden çalıştırın (bunu yapmak için oynat düğmesine tıklayın veya F5 tuşuna basın). Tarayıcınız başlatıldıktan sonra, adres çubuğundaki http://localhost:xx/HelloWorld yolu xx'in bilgisayarınızın seçtiği numara olacak şekilde değiştirin. Şimdi tarayıcınız aşağıdaki ekran görüntüsüne benzemelidir. Yukarıdaki yöntemimizde "Content" adlı bir yönteme geçirilen bir dize döndürmüştük. Sistemin html döndürdüğünden bahsettik.

ASP.NET MVC, gelen URL'ye bağlı olarak farklı Denetleyici sınıflarını (ve içindeki farklı Eylem yöntemlerini) çağırır. ASP.NET MVC tarafından kullanılan varsayılan eşleme mantığı, çalıştırılan kodu 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. Bu nedenle /HelloWorld, HelloWorldController sınıfıyla eşler. URL'nin ikinci bölümü, yürütülecek sınıftaki Eylem yöntemini belirler. Bu nedenle /HelloWorld/Index, HelloWorldController sınıfının Index() yönteminin yürütülmesine neden olur. Yukarıda /HelloWorld adresini ziyaret etmek zorunda kaldığımıza ve Index yönteminin ima edildiğine dikkat edin. Bunun nedeni, "Index" adlı bir yöntemin açıkça belirtilmemişse bir denetleyicide çağrılacak varsayılan yöntem olmasıdır.

Bu benim varsayılan eylemimdir

Şimdi Hoş Geldiniz Yöntemimiz yürütüldü ve HTML dizesini döndürdü sayfasını ziyaret http://localhost:xx/HelloWorld/Welcome. edelim.

Yine , /[Controller]/[ActionName]/[Parameters] dolayısıyla Denetleyici HelloWorld, Welcome ise Bu durumda Yöntemdir. Parametreler'i henüz yapmadık.

Bu, Hoş Geldiniz eylem yöntemidir

Örneğimizi biraz değiştirerek URL'den denetleyicimize bazı bilgiler geçirelim, örneğin: /HelloWorld/Welcome?name=Scott&numtimes=4. Hoş Geldiniz yönteminizi iki parametre içerecek şekilde değiştirin ve aşağıdaki gibi güncelleştirin. geçirilmemesi durumunda numTimes parametresinin varsayılan olarak 1 olması gerektiğini belirtmek için C# isteğe bağlı parametre özelliğini kullandığımızı unutmayın.

public string Welcome(string name, int numTimes = 1)
{
   string message = "Hello " + name + ", NumTimes is: " + numTimes;
   return "" + Server.HtmlEncode(message) + "";
}

Uygulamanızı çalıştırın ve ad ve sayı değerlerini istediğiniz gibi değiştirme bölümünü ziyaret http://localhost:xx/HelloWorld/Welcome?name=Scott&numtimes=4 edin. Sistem, adres çubuğundaki sorgu dizenizden adlandırılmış parametreleri yönteminizdeki parametrelere otomatik olarak eşler.

Her iki örnekte de denetleyici tüm işleri yapıyor ve doğrudan HTML döndürmüştür. Normalde Denetleyicilerimizin doğrudan HTML döndürmesini istemeyiz çünkü bu kod için çok hantal olur. 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. Tarayıcınızı kapatın ve IDE'ye dönün.