Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft tarafından
ASP.NET MVC denetleyicisine yeni eylem eklemeyi öğrenin. Bir yöntemin eylem olması için gereksinimler hakkında bilgi edinin.
Bu öğreticinin amacı, yeni denetleyici eylemini nasıl oluşturabileceğinizi açıklamaktır. Eylem yönteminin gereksinimleri hakkında bilgi ediniyorsunuz. Ayrıca bir yöntemin eylem olarak kullanıma sunulmasını nasıl önleyeceğinizi de öğrenirsiniz.
Denetleyiciye Eylem Ekleme
Denetleyiciye yeni bir yöntem ekleyerek denetleyiciye yeni bir eylem eklersiniz. Örneğin, Liste 1'deki denetleyici Index() adlı bir eylem ve SayHello() adlı bir eylem içerir. Her iki yöntem de eylem olarak kullanıma sunulur.
Liste 1 - Controllers\HomeController.vb
<HandleError()> _
Public Class HomeController
Inherits System.Web.Mvc.Controller
Function Index() As ActionResult
Return View()
End Function
Function SayHello() As String
Return "Hello!"
End Function
End Class
Evrene bir eylem olarak maruz kalabilmek için bir yöntemin belirli gereksinimleri karşılaması gerekir:
- yöntemi genel olmalıdır.
- yöntemi statik bir yöntem olamaz.
- yöntemi bir uzantı yöntemi olamaz.
- Yöntemi bir oluşturucu, getter veya ayarlayıcı olamaz.
- Yöntemin açık genel türleri olamaz.
- yöntemi, denetleyici temel sınıfının bir yöntemi değildir.
- yöntemi ref veya out parametreleri içeremez.
Denetleyici eyleminin dönüş türüyle ilgili bir kısıtlama olmadığına dikkat edin. Denetleyici eylemi bir dize, DateTime, Random sınıfının bir örneği veya void döndürebilir. ASP.NET MVC çerçevesi, eylem sonucu olmayan herhangi bir dönüş türünü dizeye dönüştürür ve dizeyi tarayıcıya işler.
Bu gereksinimleri ihlal etmeyen herhangi bir yöntemi bir denetleyiciye eklediğinizde, yöntem bir denetleyici eylemi olarak kullanıma sunulur. Burada dikkatli olun. Denetleyici eylemi, İnternet'e bağlı herkes tarafından çağrılabilir. Örneğin, DeleteMyWebsite() denetleyici eylemi oluşturmayın.
Ortak Yöntemin Çağrılmasını Önleme
Bir denetleyici sınıfında genel bir yöntem oluşturmanız gerekiyorsa ve yöntemini denetleyici eylemi olarak kullanıma sunmamak istiyorsanız NonAction> özniteliğini kullanarak yöntemin <çağrılmasını önleyebilirsiniz. Örneğin, Listeleme 2'deki denetleyici NonAction> özniteliğiyle <süslenmiş CompanySecrets() adlı bir genel yöntem içerir.
Liste 2 - Controllers\WorkController.vb
Public Class WorkController
Inherits System.Web.Mvc.Controller
_
Function CompanySecrets() As String
Return "This information is secret."
End Function
End Class
Tarayıcınızın adres çubuğuna /Work/CompanySecrets yazarak CompanySecrets() denetleyici eylemini çağırmaya çalışırsanız, Şekil 1'de hata iletisini alırsınız.
Şekil 01: Bir NonAction yöntemini çağırma (Tam boyutlu görüntüyü görüntülemek için tıklayın)