• 20-02-2016, 12:03:26
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Rescursive fonksiyon kullanarak php projemde bu menü sistemini çok kolay bir şekilde halletmiştim. Nesneye yönelik programlama da İşin içinden çıkamadım. Ekstra bir tablo daha oluşturmadan kategorilerimi aşağıda ki menü sistemine nasıl uyarlarım?

    HomeController ımdan Anasayfa 2 tablo göndermekteyim.

    Yardımcı olursanız sevinirim.

    Veritabanı



    View

    <nav class="header__navigation collapse navbar-toggleable-md" id="structurepress-main-navigation" aria-label="Main Menu">
    
    	<a class="home-icon" href="index.html">
    		<i class="fa fa-home"></i>
    	</a>
    	
    	<ul class="main-navigation js-main-nav" role="menubar">
    		<li class="menu-item-has-children current-menu-item">
    			<a href="index.html">Home</a>
    			<ul class="sub-menu">
    				<li>
    					<a href="index.html">Slideshow</a>
    				</li>
    				<li>
    					<a href="index_static.html">Static image</a>
    				</li>
    				<li>
    					<a href="index_video.html">Video background</a>
    				</li>
    			</ul>
    		</li>
    		<li>
    			<a href="about.html">About</a>
    		</li>
    		<li class="menu-item-has-children">
    			<a href="services.html">Services</a>
    			<ul class="sub-menu">
    				<li>
    					<a href="construction-consultant.html">Construction Consultant</a>
    				</li>
    				<li>
    					<a href="green-building.html">Green Building</a>
    				</li>
    				<li>
    					<a href="laminate-flooring.html">Laminate Flooring</a>
    				</li>
    				<li>
    					<a href="house-renovation.html">House Renovation</a>
    				</li>
    				<li>
    					<a href="general-contracting.html">General Contracting</a>
    				</li>
    				<li>
    					<a href="metal-roofing.html">Metal Roofing</a>
    				</li>
    			</ul>
    		</li>
    		<li>
    			<a href="projects.html">Projects</a>
    		</li>
    		<li>
    			<a href="news.html">News</a>
    		</li>
    		<li>
    			<a href="contact.html">Contact</a>
    		</li>
    	</ul>
    
    </nav>
    HomePageView

    public class HomePageView
    {
         public List<Slider> Slider { get; set; }
         public List<Ref> Ref { get; set; }
    }
    HomeController

    private readonly ISliderRepository _sliderRepository;
    private readonly IRefRepository _refRepository;
    
    public HomeController(ISliderRepository sliderRepository, IRefRepository refRepository)
    {
    	_sliderRepository = sliderRepository;
    	_refRepository = refRepository;
    }
    
    
    
    public ActionResult Index()
    {
    	var Model = new HomePageView
    	{
    		Slider = _sliderRepository.GetAll().ToList(),
    		Ref = _refRepository.GetAll().ToList()
    	};
    
    	List<HomePageView> newList = new List<HomePageView>();
    	newList.Add(Model);
    	
    	return View(newList);
    }
  • 20-02-2016, 13:23:37
    #2
    Hocam MVC, 4.0 ile baştan başa değişmiş durumda. Models, views ve diğerleri. mvc ve razor views mantığını tam anlayabilmek için c# mantığını kavramak gerekli. İstediğinizi tam olarak yazabilirim ama bu size yardımcı olmaz. SOraki işlerinizde yine tıkanırsınız. O nedenle mvc razor view engine - database işlemlerinde linq to Sql i incelemenizi tavsiye ediyorum. Bu, mvc frameworkün temelini teşkil eder. Bu noktadan sonra yine yol gösterebilirim. saygılar
  • 20-02-2016, 18:44:20
    #3
    Darkness_Sant adlı üyeden alıntı: mesajı görüntüle
    Rescursive fonksiyon kullanarak php projemde bu menü sistemini çok kolay bir şekilde halletmiştim. Nesneye yönelik programlama da İşin içinden çıkamadım. Ekstra bir tablo daha oluşturmadan kategorilerimi aşağıda ki menü sistemine nasıl uyarlarım?

    HomeController ımdan Anasayfa 2 tablo göndermekteyim.

    Yardımcı olursanız sevinirim.

    Veritabanı



    View

    <nav class="header__navigation collapse navbar-toggleable-md" id="structurepress-main-navigation" aria-label="Main Menu">
    
    	<a class="home-icon" href="index.html">
    		<i class="fa fa-home"></i>
    	</a>
    	
    	<ul class="main-navigation js-main-nav" role="menubar">
    		<li class="menu-item-has-children current-menu-item">
    			<a href="index.html">Home</a>
    			<ul class="sub-menu">
    				<li>
    					<a href="index.html">Slideshow</a>
    				</li>
    				<li>
    					<a href="index_static.html">Static image</a>
    				</li>
    				<li>
    					<a href="index_video.html">Video background</a>
    				</li>
    			</ul>
    		</li>
    		<li>
    			<a href="about.html">About</a>
    		</li>
    		<li class="menu-item-has-children">
    			<a href="services.html">Services</a>
    			<ul class="sub-menu">
    				<li>
    					<a href="construction-consultant.html">Construction Consultant</a>
    				</li>
    				<li>
    					<a href="green-building.html">Green Building</a>
    				</li>
    				<li>
    					<a href="laminate-flooring.html">Laminate Flooring</a>
    				</li>
    				<li>
    					<a href="house-renovation.html">House Renovation</a>
    				</li>
    				<li>
    					<a href="general-contracting.html">General Contracting</a>
    				</li>
    				<li>
    					<a href="metal-roofing.html">Metal Roofing</a>
    				</li>
    			</ul>
    		</li>
    		<li>
    			<a href="projects.html">Projects</a>
    		</li>
    		<li>
    			<a href="news.html">News</a>
    		</li>
    		<li>
    			<a href="contact.html">Contact</a>
    		</li>
    	</ul>
    
    </nav>
    HomePageView

    public class HomePageView
    {
         public List<Slider> Slider { get; set; }
         public List<Ref> Ref { get; set; }
    }
    HomeController

    private readonly ISliderRepository _sliderRepository;
    private readonly IRefRepository _refRepository;
    
    public HomeController(ISliderRepository sliderRepository, IRefRepository refRepository)
    {
    	_sliderRepository = sliderRepository;
    	_refRepository = refRepository;
    }
    
    
    
    public ActionResult Index()
    {
    	var Model = new HomePageView
    	{
    		Slider = _sliderRepository.GetAll().ToList(),
    		Ref = _refRepository.GetAll().ToList()
    	};
    
    	List<HomePageView> newList = new List<HomePageView>();
    	newList.Add(Model);
    	
    	return View(newList);
    }

    Eğitim ücreti karşılığında mantığı ile birlikte bilgilendirebilir ve istediğinizi yapmanıza yardımcı olabilirim.
  • 21-02-2016, 00:22:51
    #4
    Merhaba tabloya bir sütun daha ekleyebilirseniz işlemi daha kolay halledebiliriz aslında.

    Bunun adını MenuTyp olarak adlandıracağım. Ana menü ise M alt menü ise T şeklinde veri geldiğini kabul ederek kodları yazıyorum.

    Controller

    Bize sadece CategoryID,CategoryName,ParentID,MenuTyp alanlarından oluşan bir list döndüren model olması gerekiyor.

    View

    <nav class="header__navigation collapse navbar-toggleable-md" id="structurepress-main-navigation" aria-label="Main Menu">
    
            <a class="home-icon" href="index.html">
                <i class="fa fa-home"></i>
            </a>
    
            <ul class="main-navigation js-main-nav" role="menubar">
                @{
                    List<PageModel> MPage = Model.Where(x => x.MenuTyp == "M").ToList();
    
                    foreach (var item in MPage)
                    {
                        List<PageModel> TPage = Model.Where(x => x.MenuTyp == "T" && x.ParentID == @item.CategoryID).ToList();
    
                        if (TPage.Count > 0)
                        {
                            <li class="menu-item-has-children @(item.CategoryID == 0 ? "current-menu-item" : "")">
                                <a href="#">@item.CategoryName</a>
                                <ul class="sub-menu">
                                    @foreach (var item2 in TPage)
                                    {
                                        <li>
                                            <a href="#">@item2.CategoryName</a>
                                        </li>
                                    }                                                             
                                </ul>
                            </li>
                        }
                        else
                        {
                            <li>
                                <a href="#">@item.CategoryName</a>
                            </li>
                        }
                    }
                }
    
            </ul>
    
        </nav>
    Burada ana menülerin içinde dolaşarak alt menüleri tespit edip onların içinde dönerek menünün oluşmasını sağladım. Kod tam olarak çalışıyormu test edemedim ama takıldığınız herhangi birşey olursa sorabilirsiniz.
  • 22-02-2016, 22:54:02
    #5
    HHHMMM arkadaşın mütevazi yardımıyla 3 alt kategoriye kadar entegre ettik.

    <nav class="header__navigation collapse navbar-toggleable-md" id="structurepress-main-navigation" aria-label="Main Menu">
    
    	<a class="home-icon" href="index.html">
    		<i class="fa fa-home"></i>
    	</a>
    
    	<ul class="main-navigation js-main-nav" role="menubar">
    		@{
    			List<Category> AllCategory = Model.FirstOrDefault().Category;
    
    			List<Category> AnaMenu = AllCategory.Where(x => x.ParentId == 11).OrderBy(x => x.CategoryOrder).ToList();
    
    			foreach (var item in AnaMenu)
    			{
    				List<Category> AltMenu = AllCategory.Where(x => x.ParentId == item.CategoryId).ToList();
    
    				<li class=@(AltMenu.Count > 0 ? "menu-item-has-children" : "")>
    					<a href="@item.CategoryId">@item.CategoryName</a>
    
    					@if (AltMenu.Count > 0)
    					{
    						<ul class="sub-menu">
    						@{ 
    							List<Category> AltMenu2 = AllCategory.Where(x => x.ParentId == item.CategoryId).ToList();
    							foreach (var item2 in AltMenu2)
    							{
    								<li>
    									<a href="@item2.CategoryId">@item2.CategoryName</a>
    									@if (AltMenu2.Count > 0)
    									{
    									<ul class="sub-menu">
    										@{
    											List<Category> AltMenu3 = AllCategory.Where(x => x.ParentId == item2.CategoryId).ToList();
    											foreach (var item3 in AltMenu3)
    											{
    												<li>
    													<a href="@item3.CategoryId">@item3.CategoryName</a>
    												</li>
    											}
    										 }
    									 </ul>
    									}
    								</li>
    							}
    						}
    						</ul>
    					}
    				</li>
    			}
    		}
    
    	</ul>
    
    </nav>