ASP.NET MVC 3.0 遇到的问题

qq623932737 2012-06-28 11:50:45
看了mvc的教程感觉 跟之前写的三次架构 完全不一样了 ,就是另一种设计模式,所以我又生出了很多疑问,,,,

比如,控制器里面的 一个方法 就等于是一个视图



MovieDBContext DB = new MovieDBContext();
//访问数据列表
// GET: /Movies/
public ActionResult Index()
{
var movies = from x in DB.Movies
where x.ID>0
select x ;
return View(movies.ToList());
}


index页面则显示 数据列表 但是我想在index页面显示 多种数据 多个表的数据列表又该如何呢???


还有 数据库中有视图的功能 在这mvc中 可以使用么。。。。 又怎么使用

请各位深入mvc的朋友 帮助讲解讲解



...全文
198 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chilin 2012-06-29
  • 打赏
  • 举报
回复
建议使用第二种,新建一个ViewModel,ViewBag不是强类型的,没有类型检查
china_sqzl 2012-06-29
  • 打赏
  • 举报
回复
我也是刚学MVC3,也遇到你这样的问题,用一段时间自己总结就有经验了.
我现在用的是定义一个综合视图模型的方式(ViewModel),用来展示你说的问题.
可以加我QQ:36898588交流.
qq623932737 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
MVC性能堪忧,我学了一段时间,发现以前的代码移植困难,于是放弃了。
[/Quote]

存在就是有价值的 mvc也有他自己的优点
qq623932737 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
ViewBag 从Controller到view进行传值用的

例如
public ActionResult Index()
{
var a = "A,B,C".Split(',').ToList();
var b = "1,2,3".Split(',').ToList();
ViewBag.A = a;
ViewBag.B = b;
return View(……
[/Quote]

恩 这确实也是一个方法 ....
ilooknow 2012-06-28
  • 打赏
  • 举报
回复
MVC性能堪忧,我学了一段时间,发现以前的代码移植困难,于是放弃了。
  • 打赏
  • 举报
回复
你可以返回一个综合性的自定义的model
孟子E章 2012-06-28
  • 打赏
  • 举报
回复
ViewBag 从Controller到view进行传值用的

例如
public ActionResult Index()
{
var a = "A,B,C".Split(',').ToList();
var b = "1,2,3".Split(',').ToList();
ViewBag.A = a;
ViewBag.B = b;
return View();
}

视图里面
<div>
@foreach (var a in ViewBag.A)
{
<li>@a</li>
}

@foreach (var a in ViewBag.B)
{
<li>@a</li>
}
白云任去留 2012-06-28
  • 打赏
  • 举报
回复
一般第一、二种,主要看你的设计了,列表太多的话,就用第一种ViewBag吧
qq623932737 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
sorry,掉了一句,红色注
public ActionResult Index()
{
Models m = new Models();
m.A = listA;
m.B = listB;
return View(m);
}
[/Quote]



那通常 都是用哪个方法呢
白云任去留 2012-06-28
  • 打赏
  • 举报
回复
sorry,掉了一句,红色注
public ActionResult Index()
{
Models m = new Models();
m.A = listA;
m.B = listB;
return View(m);
}
白云任去留 2012-06-28
  • 打赏
  • 举报
回复
第一种:定义ViewBag ,如一楼所说
第二种:定义综合实体models,例:
public class Models
{
public A A { get;set; }
public B B { get;set; }
}
public class A {}
public class B {}
public ActionResult Index()
{
Models m = new Models();
m.A = listA;
m.B = listB;
}
视图里面
@model Models

@foreach (var a in model.A)
{
<li>@a</li>
}
@foreach (var b in model.B)
{
<li>@b</li>
}
第三种:
视图里直接
@{
var list=new Movies.GetModel_A();
foreach (var a in list){ <li>@a</li> }
}

@{
var list2=new Movies.GetModel_B();
foreach (var b in list2){ <li>@b</li> }
}

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧