Arkadaşlar merhaba,
MVC5 için, ana dizine bir sınıf oluşturuyorum. Bu sınıfı view içersinde çağırmak istediğimde namespace kullanmam gerekiyor. (projeadı.sınıfadı test = new projeadi.sınıfadi() gibi)
bu sınıfı nasıl global yapıp her yerden dogrudan cagrılabilir yapabilirim?
MVC de global class tanımlama
8
●928
- 15-10-2017, 15:44:35sınıf public mi acaba? ayrıca içerisinde oluşturduğunuz metod? şayet değilse kullanmadan önce view den referans vermeniz lazım yukarıda verdiğiniz örnekte olduğu gibi, ancak sınıf ve metodu public oluşturursanız direk çağırabilirsiniz.
sinif.metod() gibi - 15-10-2017, 21:31:16view'in en üstünde using şeklinde namespace tanımlarsan sıkıntı olmaz(normal class gibi) ama genel anlamda mvc'nın mantığına aykırı olduğu için view de en az şekilde code yazmaya özen göstermek tavsiye ediliyor bir çok işlemi şahsen ben modelview diye bir klasor oluşturup oradan bir class oluşturup viewe gönderilecek modellerin kontrollerini işlemlerini o şekilde yapıyorum
- 16-10-2017, 00:06:22Kimlik doğrulama veya yönetimden onay bekliyor.Yarattığın class'ı namespace'i eklemeden çağıramazsın. View veya cs içerisinde using ile namespace tanımlamalısın.
Eğer projeadı.sınıfadı test = new projeadi.sınıfadi() şeklinde değil de projeadi.sinifadi.method şeklinde kullanmak istiyorsan class'ini static kullanabilirsin, static kavramını iyi bilmiyorsan öncelikle nedir ne değildir iyi öğrenmeni tavsiye ederim. - 16-10-2017, 07:16:21Hayır hayır, demek istedigim ana dizinde bir klasor içine oluşturduğum sınıfı view içerisinde namespace prefix ini yazmadan cagırmak.
Şu an ana dizine siniflar diye klasor oluşturdum. İçine aclass diye bi sınıf oluşturdum diyelim. Bu sınıfın namespace si otomatik olarak projeadi.klasoradi oldu.
Bu sınıfı view içerisinde cagırmak istediğimde projeadi.klasoradi.aclass test = new projeadi.klasoradi.aclass() şeklinde çağırıyorum.
Yada view başına using yazarak once sınıfı cagırıyorum. Using yazmadan bu sınıfı dogrudan aclass test = new aclass() şeklinde cagırmak istiyorum. Umarım anlatabilmişimdir. - 05-11-2017, 21:09:39Sınıfınızdaki namespace tanımını silerseniz global olarak, tanımlama yapmadan ulaşabilirsiniz. Ancak bu yöntem pek tavsiye edilmez.crooper adlı üyeden alıntı: mesajı görüntüle
- 07-11-2017, 11:31:27Kimlik doğrulama veya yönetimden onay bekliyor.View de bir classa erişmek isterseniz Views klasörü altında bulunan web.config dosyasına namespace tagı içerisine ilgili class ın namespace ini eklmeniz viewlerde direkt olarak o classaı namespace göstermeden çağırmanızı sağlar.crooper adlı üyeden alıntı: mesajı görüntüle
- 09-11-2017, 21:39:15ByEBA'nın dediği gibi namespace i web.config e ekleyin projenizi build edip açıp kapatın. View içinde namespace eklemenize gerek kalmayacaktır.