Forum

ASP.NET CORE MVC
 
Bildirimler
Hepsini Temizle

[Çözüldü] ASP.NET CORE MVC

5 Yazılar
2 Üyeler
0 Reactions
162 Görüntüleme
(@mustafanisanci)
Gönderiler: 87
Estimable Member
Konu başlatıcı
 

Arkadaşlar herkese merhaba. Asp.Net Core ile web tabanlı bir uygulamaya başladım. MVC mimarisi üzerine dizayn ediyorum. Görsel kısmı ise şimdilik bootstrap ile ilerlemeyi düşünüyorum. Ancak bazı projelerde gördüğüm bir dizayn vardı bu tarz bir projede çalışan varsa fikrini almak adına bu konuyu açtım.

Projemde navigasyon üzerinden menülüre tıkladığımızda viewler render ediliyor buraya kadar sorun yok. Bununla ilgili sabit kısım için bir layout'um var. Sorum şu. Örneğin cari hesaplara tıkladım ilgili view render edildi. Satış yapmak için kayıt açtım ancak gördüm ki stok eksik. stok girmek için stok menüsüne tıkladığımda ilgili view render ediliyor ancak cari gidiyor. Bunu kapanmadan tarayıcının sekmesi olarak değil kendi içinde tabpage tarzında açtırabilirmiyim? bunun için hazır kütüphaneler mi var? nasıl yapılıyor? 

 

Ben bootstrap tabs componentini javasicript ile bir buton ekleyip dinamik olarak her tıkladığımda bir tab oluşturuyorum. tab idsine göre kapatabiliyorum. ancak ilgili view her tıkladığımda sekme ile nasıl ilişkilendirilip render edilecek yapamadım. Bu konuda yardımı olacak arkadaşlara şimdiden teşekkür ediyorum.

 
Gönderildi : 04/06/2024 13:57

(@mustafanisanci)
Gönderiler: 87
Estimable Member
Konu başlatıcı
 

Arkadaşlar bu konuda fikir sahibi mi yok? Yoksa bilgi vermek mi isteyen yok? 

Statik bir Web sitesi değil onun yerine dinamik bir uygulama yapmak istiyorum. Mesela muhasebe programı. Ancak uygulama içindeki modüller veya menüleri gezerken bir diğerinin kapanmasını istemiyorum. Nelerden faydalanabilirim. 

 
Gönderildi : 07/06/2024 22:57

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33109
Illustrious Member Yönetici
 

Yazılımcılar bana kızacak ama TR de neden hiç yazılım forum ortamı yok? Çünkü genelde bilgi paylaşımı pek yok. Bunun tabi ki pek çok nedeni olabilir özellikle yazılım işlerinin forumdan zor olması gösterilebilir, ama Stack Overflow' a bakıyorsun olduğunu görüyoruz. Yazılımcılar twitter'a ayırdıkları zamanın yarısını forumlara ayırsa bu gün çok farklı bir yerde olurduk. Benim GPT-4 hesabım olduğu için ona sordum, çünkü yazılım benim uzmanlık alanım değil, bence eğer sizinde aylık 20usd bütçeniz var ise (ingilizceniz iyi ise gerek yok zaten yabancı forumlar daha aktif) bence sizde aynı yöntemi deneyin veya eğitim alabilirsiniz, eğitim de temel bilgiler için iyi bir çözüm olacaktır. Forumdan yazılım öğrenmek pek mümkün değil.

ASP.NET Core MVC ile çalışırken, uygulamanızda dinamik sekmeler (tabpages) oluşturmak ve her sekmeye tıkladığınızda ilgili view'i render etmek için aşağıdaki adımları izleyebilirsiniz:

  1. Layout Düzenlemeleri: Layout dosyanıza Bootstrap Tabs bileşenini ekleyin. Bu, sekmelerin temel yapısını oluşturacak. Örneğin:

     

<!-- Layout sayfasında -->
<div class="container">
<ul class="nav nav-tabs" id="myTab" role="tablist">
<!-- Dinamik sekmeler buraya eklenecek -->
</ul>
<div class="tab-content" id="myTabContent">
<!-- Dinamik sekme içerikleri buraya eklenecek -->
</div>
</div>

 

2 .JavaScript ile Dinamik Sekme Oluşturma: Her menü öğesine tıkladığınızda yeni bir sekme oluşturmak için JavaScript kullanın. Örneğin:

 

function openTab(title, url) {
var tabId = 'tab-' + new Date().getTime(); // Benzersiz bir ID oluşturma

// Yeni sekme başlığı ekleme
$('#myTab').append(`
<li class="nav-item">
<a class="nav-link" id="${tabId}-tab" data-toggle="tab" href="#${tabId}" role="tab">${title}</a>
</li>
`);

// Yeni sekme içeriği ekleme
$('#myTabContent').append(`
<div class="tab-pane fade" id="${tabId}" role="tabpanel">
<iframe src="${url}" width="100%" height="600px" frameborder="0"></iframe>
</div>
`);

// Yeni sekmeye geçiş yapma
$(`#${tabId}-tab`).tab('show');
}

 

3. Navigasyon Menüsü Üzerinde JavaScript Eventleri: Navigasyon menüsündeki her öğe için onclick eventi ekleyin ve openTab fonksiyonunu çağırın:

<!-- Örnek navigasyon menüsü -->
<nav>
<ul>
<li><a href="javascript:void(0)" onclick="openTab('Cari Hesaplar', '/CariHesaplar')">Cari Hesaplar</a></li>
<li><a href="javascript:void(0)" onclick="openTab('Stok', '/Stok')">Stok</a></li>
<!-- Diğer menü öğeleri -->
</ul>
</nav>

 

4.Controller ve View Ayarları: Her sekme için doğru view'in render edilmesi amacıyla, controller'da ilgili view'lerin doğru şekilde döndüğünden emin olun:

public IActionResult CariHesaplar()
{
return View();
}

public IActionResult Stok()
{
return View();
}

 

Bu adımlar sayesinde, her menü öğesine tıkladığınızda yeni bir sekme açılacak ve ilgili view bu sekmede iframe içinde render edilecek. İlgili view'in dinamik olarak sekmeyle ilişkilendirilmesi için JavaScript kullanarak URL'yi iframe kaynağı olarak belirtebilirsiniz.

Bu yöntem, view'lerin sekme içinde dinamik olarak açılmasını sağlar ve her yeni sekme açıldığında mevcut içerikler kaybolmaz. Ayrıca, sekmeler arasında geçiş yapmak ve sekmeleri kapatmak kolay olacaktır.

Eğer daha gelişmiş bir yapı istiyorsanız, JavaScript framework'leri (örneğin React veya Angular) kullanarak tek sayfa uygulamaları (SPA) geliştirebilirsiniz. Bu framework'ler, sekme ve içerik yönetimi gibi işlemleri daha kolay ve verimli bir şekilde yapmanızı sağlar.

 

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 08/06/2024 13:43

(@mustafanisanci)
Gönderiler: 87
Estimable Member
Konu başlatıcı
 

Hakan bey cevabınız için çok teşekkür ediyorum. Asp.net core mvc konusunda çokta kötü sayılmam c# bilgimde iyi. Lakin işin görsel kısmı genelde ortalıkta yok. Chatgpd sağol sun valla bizim türkülerden fazla yardımı oldu. Bootstrap sekme ile bir şekilde oldu sıkıntı yok. Ama asıl istediğim Web uygulamanın Web sitesinden farklı görünmesiydi. Bunun için yaptığım araştırmalarda edindiğim bilgi extjs diye bir kütüphane. Lakin fiyatı çok yüksek. Ve öğrenme eğrisi raz zahmetli. 

 
Gönderildi : 08/06/2024 14:17

Hakan Uzuner
(@hakanuzuner)
Gönderiler: 33109
Illustrious Member Yönetici
 

Rica ederim

Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 08/06/2024 15:52

Paylaş: