mvc3 如何 嵌套循序 页面返回多模型视图

表结构假设如下

表tblnav

id,name,url,pid

表tblmsg

id,title,msg

两张表各有一个model实体类

现在在同一页面 左边形成菜单导航 假设只为最简单的2层就行了

右边为消息列表

如下

a

<ul>

<li>a-1</li>

<li>a-2</li>

</ul>

b

<ul>

<li>b-1</li>

<li>b-2</li>

</ul>

 

 

表tblmsg

只要形成列表视图

<ul>

<li>id , title, msg</li>

<li>id , title, msg</li>

<li>id , title, msg</li>

</ul>

最好能有个例子

我的想法是 写个综合的实体类

public class Nav
{
         public int id {get;set;}
         public string name {get;set;}
         public string url {get;set;}
         public int pid{get;set;}//父节点id
}

public class Msg
{
         public int id {get;set;}
         public string title{get;set;}
         public string msg{get;set;}

}


public class Navmsg
{
        public Nav navmodel {get;set;}
        public List<Nav> navmodellsit {get;set;}
        public List<Msg> msgmodellsit {get;set;}
}


这样写好像有问题

 

德玛西亚99
浏览 476回答 11
11回答

翻翻过去那场雪

你的这个需求应该就是把数据取到视图后,根据pid循环递归把数据按层级呈现出来就行了。好比一个无限级菜单。是这样的吧?你一说视图把大伙都给误导了。

紫衣仙女

表述有点凌乱,能否说清楚些?

呼啦一阵风

-----------关于表1的分界线-------------------------- 假设表1中的pid为parentid...如果假设错误就不用往下看了... 两种方法解决这个问题: 1. 写个html helper extension,递归render你想要的html格式+数据 2. 递归partialView,例如:建一个"table1PartialView",在里面写:Html.RenderPartial("table1PartialView",data.Items) -----------关于表2的分界线-------------------------- 建个partialView即可,不明白要问啥。。。

拉风的咖菲猫

@Joe Hou: 还有其他的表的列表循环怎么同时放进去

浮云间

@Joe Hou: 没有看懂 

绝地无双

@暗尘掩月: 没有看懂。。。

慕容708150

单独的嵌套循环   形成2及菜单   单独的新列表这个都会做  关键是这两个要放在同一个页面 就不会弄了
打开App,查看更多内容
随时随地看视频慕课网APP