inohilog

/var/log/inohiro.log

ASP.NET MVC 楽しすぎる。

Railsの理解にもつながりそうな気配。
LINQで引っ張ってくるとことろか、気持ちよすぎ。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;

using MVC_Chirashi1.Models;


namespace MVC_Chirashi1.Controllers
{
    public class CategoryController : Controller
    {
        /// <summary>
        /// カテゴリ一覧の表示
        /// </summary>
        /// <returns>カテゴリ一覧</returns>
        public ActionResult List()
        {
            CategoryDataContext data = new CategoriesDataContext();
            var categories = from category in data.Category
                             select category;

            return View(categories.ToList());
        }

	/// <summary>
	/// カテゴリIdから子カテゴリ、そのカテゴリに所属する企業の列挙
	/// </summary>
	/// <param name="Id">Category-Id</param>
	/// <returns>子カテゴリ一覧</returns>
        public ActionResult Detail( int Id )
        {
            CategoryDataContext data = new CategoriesDataContext();
            var childCategories = from childCategory in data.ChildCategory
                                  where childCategory.CtgId == Id
                                  select childCategory;

		CompanyDataContext cmpData = new CompanyDataContext();
		var companies = from cmp in cmpData.Company
				where cmp.CtgId == Id
				select cmp;

		ViewData["cmps"] = companies;

            return View(childCategories.ToList());
        }
    }
}

追記

ViewData["cmps"] = companies;

一度companiesにものが入ると、その後空でも入ったままになってしまう。ううむ。

追記2

解決。MasterPageで列挙に使ってる変数と名前がかぶってた。これは気をつけないと。