62,046
社区成员
发帖
与我相关
我的任务
分享
@for (int i = 0; i < Model.Count(); i++)
{
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@Model.ElementAt(i).MenuName<strong class="caret"></strong></a>
@for (int j = 0; j < 1; j++)
{
<ul class="dropdown-menu">
<li>
<a href="#">@Model.ElementAt(1).subMenu.ElementAt(1).subMenuName</a>
</li>
</ul>
}
</li>
}
public class HomeController : Controller
{
private MenuDbContext Mu = new MenuDbContext();
// GET: Home
public ActionResult Index()
{
return View(Mu.list.ToList());
}
}
public class Menu
{
public int MenuID { get; set; }
public string MenuName { get; set; }
public List<SubMenu> subMenu { get; set; }
}
public class SubMenu
{
public int ID { get; set; }
public int MenuID { get; set; }
public string subMenuName { get; set; }
}
public class MenuDbContext : DbContext
{
public DbSet<Menu> list { get; set; }
}
public Menu men;
public class Menu
{
public string text_item;
public List<Menu> submenu;
}
这就是一种菜单数据结构。
你的 Model 中总应该有跟 View 对应的数据结构,然后在 View 中尽量少写代码,尽量自动化地对应数据结构(手写个 foreach 就够累、够难维护的了)。
如果View 中写复杂的查询代码,那么就等于是所谓 mvc 模式的失败!mvc的目的本来就是让前端 View 傻瓜化地绑定 前端Model的,只用声明性的语法,而尽量不写过程性的代码。public Menu men;
public class Menu
{
public string text_item;
public List<Menu> submenu;
}
这就是一种菜单数据结构。
你的 Model 中总应该有跟 View 对应的数据结构,然后在 View 中尽量少写代码,尽量自动化地对应数据结构(手写个 foreach 就够累、够难维护的了)。
如果View 中写复杂的查询代码,那么就等于是所谓 mvc 模式的失败!mvc的目的本来就是让前端 View 傻瓜化地绑定 前端Model的,只用声明性的语法,而尽量不写过程性的代码。