ASP.NETMVC:如何将列表(从模型中的类)传递到视图中的转发器?我该怎么办?我已经开始使用MVC,但遇到了传递数据的问题。我的具体问题是我在模型中有一个对象列表,我需要在视图中访问和迭代这些对象。提前致谢。假设您的控制器操作看起来像publicActionResultList(){ListmyList=database.GetListOfStrings();(...)}现在您想将列表传递给视图,例如“List.aspx”。您可以通过让操作返回ViewResult(ViewResult是ActionResult的子类)来做到这一点。您可以使用Controller的View方法返回ViewResult,如下所示:publicActionResultList(){ListmyList=database.GetListOfStrings();(...)返回视图("列表",myList);为了能够查看要以强类型方式访问列表,它必须从ViewPage派生,其中T是您传入的数据的类型。因此在当前情况下,我们的视图(在List.aspx.cs中)将看起来像这样:publicpartialclassList:ViewPage{(...)}以这种方式传递到视图中的数据称为“ViewData”。要访问数据,您必须浏览ViewPage上的ViewData.Model属性。因此,要呈现列表的内容,您可以在此处编写(在List.aspx中)this.ViewData.Model具有您在ViewPage中指定为类型参数T的类型,因此在我们的示例中this.ViewData.Model具有列表类型。你可以使用转发器来渲染这样的东西,但我不推荐它。如果您想使用类似的东西,请查看CodePlex上MvcContrib项目的Grid模块。快速而肮脏的方法是通过ViewData传递它publicActionResultList(){ViewData["MyList"]=newList(){"test1","test2"};返回视图();然后你可以在你的视图中访问它ASP.NETMVC有几种方法可以将数据传递到视图。将模型类传递给视图的主要方法是将其包含在控制器返回的ViewResult类中,如下所示:FunctionList()AsViewResult'passotherinformationintheviewdatadictionaryViewData("Title")="AllItems"'从模型类中获取我们的项目列表Dimitems=Model.ItemRepository.GetAllItems()'作为结果的一部分返回ReturnView(items)EndFunction然后,从您的视图中,您可以像这样访问列表:另一种方法传递数据是通过ViewData字典,如上面的控制器函数所示。您可以在以下视图中访问它:希望有帮助。如果我没记错的话,转发器控件需要一个页面模型。(页面模型是经典的ASP.NET使用的)但是你应该看看这个链接:http://haacked.com/archive/2008/05/03/code-based-repeater-for-asp.net-mvc.aspx以上是C#学习教程:ASP.NETMVC:Howtopassthelist(fromclassintheModel)totherepeaterintheView?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
