• 15-10-2017, 13:50:18
    #1
    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?
  • 15-10-2017, 15:44:35
    #2
    sı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, 20:13:08
    #3
    Şu detayı vereyim, ana dizine bir klasor oluşturuyorum. Dolayısıyla namespace projeadi.klasoradi şeklinde oluyor. Boyle oldugu için bu namespace i bir yere register etmek gerekiyor sanırım. Yoksa namespace ile cagırmam gerekiyor.

    Teşekkür ederim.
  • 15-10-2017, 21:31:16
    #4
    view'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:22
    #5
    Kimlik 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:21
    #6
    Hayı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:39
    #7
    crooper adlı üyeden alıntı: mesajı görüntüle
    Hayı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.
    Sınıfınızdaki namespace tanımını silerseniz global olarak, tanımlama yapmadan ulaşabilirsiniz. Ancak bu yöntem pek tavsiye edilmez.
  • 07-11-2017, 11:31:27
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    crooper adlı üyeden alıntı: mesajı görüntüle
    Hayı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.
    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.
  • 09-11-2017, 21:39:15
    #9
    ByEBA'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.