当前位置: 首页 > 编程语言 > C#

在MVC3中将海量列表传递给视图分享

时间:2023-04-11 10:32:06 C#

在MVC3中将海量列表传递给视图ASP.NETMVC的新手(现在将MVC3与Razor结合使用),我对从控制器传递对象给视图感到困惑。具体来说,我正在尝试将MVC3与RobConery的有趣的Massive(http://blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massive)结合使用。我正在开发一个博客,以作为一个简单的Web应用程序进行试验。HomeController.cs:publicActionResultIndex(){vartable=newDynamicModel("mydb",tableName:"Posts");//获取所有帖子varposts=table.All();ViewData["帖子"]=帖子;返回视图();这部分效果很好。但是我该怎么办?返回视图(帖子);如果我在视图中引用@posts.PostID,它会出错并说它无效。所以我尝试针对DynamicModel创建一个强类型视图,但帖子仍然没有。我知道我可以创建一个ViewModel并针对该类型键入视图并将数据插入其中。更多的是了解控制器/视图如何交互。谢谢!ASPNETMVC模板是解决方案。首先,不鼓励使用ViewData,尤其是现在在MVC2.0和3.0中,有更好的方法将状态传递给视图。强类型视图是必经之路。但是,如果您通过了集合怎么办?好吧,您仍然可以为集合(或一般的列表)创建强类型视图,但标准解决方案是为项而不是集合使用ASPNETMVC模板(ascx文件),并在父视图上调用RenderPartial:例如:Barm.Bars[i].Content)%>这里有一个关于这个主题的非常好的系列。首先,您需要创建一个类。例如:publicclassPost:DynamicModel{publicPost():base("db"){PrimaryKeyField="PostID";在Controller中你可以:publicActionResultIndex(){vartable=newPost();varposts=table.All();返回视图(帖子);因此,您可以创建强类型视图并将视图模型设置为IEnumerable。视图将如下所示:以上是C#学习教程:将Massive列表传递给MVC3中的View,共享所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——@modelIEnumerable索引本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: