首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我应该将IList或List返回给MVC中的Controller吗?

在云计算领域,您需要了解各种技术和概念,以便为开发人员提供最佳解决方案。在这个问题中,我们需要考虑在ASP.NET MVC应用程序中返回IList或List的最佳实践。

在ASP.NET MVC应用程序中,您应该将IList或List返回给Controller。这是因为在MVC模式中,Controller负责处理应用程序的逻辑和数据处理,并将结果传递给View进行显示。将IList或List返回给Controller可以让您更好地组织和处理数据,并将其传递给View进行显示。

以下是一些建议的实践:

  1. 使用ViewModel:在将数据传递给View之前,您可以使用ViewModel将数据组织在一起。ViewModel允许您将多个数据源组合在一起,并将其作为单个对象传递给View。这可以让您更好地控制数据的显示方式,并使您的代码更易于维护。
  2. 使用依赖性注入:使用依赖性注入可以帮助您更好地组织和管理代码。您可以将数据访问层和业务逻辑层注入到Controller中,从而使您的代码更加模块化和可测试。
  3. 使用分页和排序:如果您需要显示大量数据,您可以使用分页和排序功能来帮助用户更好地浏览数据。这可以提高用户体验,并减少应用程序的资源消耗。

总之,将IList或List返回给MVC中的Controller是一种良好的实践,可以帮助您更好地组织和处理数据。但是,您还需要考虑其他因素,例如使用ViewModel和依赖性注入,以及实现分页和排序功能,以提高用户体验和应用程序的性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

net5依赖注入 原

昨天读asp.net5doc,看到了configure配置时,提到在controller访问配置就是通过依赖注入。...以前写代码用到 .net框架以及第三方库,都是提供好一个个类,然后我们就是实例化这个类,调用它各个方法来写程序。这样有问题?没问题,喜欢。 但有人却不喜欢,非要“注入”一下。...至此解决了一个大疑惑:一直以为IServiceCollection是asp.net5提供许多服务呢,比如ef,mvc,route等服务。 如果想用MVC,则在服务添加一下就行。...这5个静态函数最终都是调用构造函数,并返回ServiceDescriptor一个对象。 第5:   感觉应该先讲第5,后讲第4....前面提到IServiceCollection只是一个接口,接口继承了IList。那它怎么实现? 它实现类内部还要增加一个List对象. 里面的方法都转为List方法调用。 ?

1.6K10

通过一个模拟程序让你明白ASP.NET MVC是如何运行

ASP.NET MVC路由系统通过对HTTP请求解析得到表示Controller、Action和其他相关数据,并以此为依据激活Controller对象,调用相应Action方法,并将方法返回ActionResult...为了更好演示其实现原理,创建一个简单ASP.NET Web应用来模拟ASP.NET MVC路由机制。...这个例子相关组件基本上就是根据ASP.NET MVC同名组件设计,只是将它们进行了最大限度简化,因为我们只需要用它来演示大致实现原理而已。...controller=Home&action=Index 可以访问到Index.html内容(注:我们并没有Index.html作为站点默认页面)。 ?...在ASP.NET MVC,真正请求处理体现在根据路由信息创建Controller,并执行相应Action方法。这两个步骤体现ProcessRequest方法

1.1K60
  • VS2012+EF5学习MVC4(一)

    MVC毕竟当时也就只做了一个项目,做完就没有再认真看过,悔不当初啊!!!从今天开始也一步步、一天天把这个东西完全搞起来,完全搞清楚,同样刺激不能来2次,这是一个男人尊严啊!...技术:Asp.net MVC4.0,Entity Framework5.0,Jquery,SQL 2008,jquery UI 当然,这里就不说MVC和EF安装了,机器上以前本来就有,而且这个也不是重点...创建项目: 1, 创建一个空名为MvcCms 2, 创建一个MVC4.0网站,如下图 ? ? 因为这里创建是一个InternetMVC项目 ?...安装EF5之后,我们可以看到生成了packages.config 1,创建UserController,更改返回值ActionResult为String,来创建我们编程最伟大入门:“Hello World... GetAllUser() { IList userList = new List();

    49520

    分享一个Mvc多层架构,欢迎大家拍砖斧正

    但是随着业务复杂每一层都会有自己进化,最终有了无数附加在三层之上框架与开发思想。 Mvc与MVP: 首先一直认为这两种事属于展现层,“展现层MCV”,“展现层MVP”。...然后我们站在展现层角度思考一下“Mvc”与“MVP”。 Mvc:分为model,Controller,View,相信大家对于他已经很熟悉了,在此不再累述。 ?...其实在楼主最开始接触Mvc时候,就在想如果直接通过Controller与Model交互是不是显得有一些“不干净”,因为在楼主眼里“展现层 Controller”,做得最多应该就是对于请求路由不同响应与调用...,但是很多例子会将一些数据验证,去糟操作过程放在Controller ,显得不伦不类。...整个系统分拆为两个部分: Commands(命令) - 改变某一个对象整个系统状态(有时也叫做modifiers或者mutators)。

    62390

    ASP.NET Core MVC应用模型构建: Controller收集

    从编程角度来看,一个MVC应用是由一系列Controller类型构建而成,所以对于一个代表应用模型ApplicationModel对象来说,它核心就是Controllers属性返回一组ControllerModel...它Actions属性返回ActionModel是对所有定义在当前Controller类型Action方法描述。...ControllerModel类型Selectors属性返回一组SelectorModel对象是对应用在Controller级别上Action选择器描述,我们会在后续内容对SelectorModel...我们在上面演示程序定义了如下这个ControllerNameAttribute特性,该特性类型实现了IControllerModelConvention接口,在实现Apply方法,我们构造函数设置...应用模型构建[2]: 应用模型 ASP.NET Core MVC应用模型构建[3]: Controller模型 ASP.NET Core MVC应用模型构建[4]: Action模型

    10310

    在Asp.Net Core中使用ModelConvention实现全局过滤器隔离

    在一个web程序同时包含了MVC和WebAPI,现在需要给WebAPI部分单独添加一个接口验证过滤器IActionFilter,常规做法一般是写好过滤器后需要控制器挂上这个标签,高级点做法是注册一个全局过滤器...)); }); 但这样做会带来一个问题,那就是MVC部分控制器也会受影响,虽然可以在过滤器中进行一些判断来区分哪些是MVC Controller哪些是API Controller,但是平白无故...MVC增加这么一个没用Filter,反正是不能忍,所以寻找有没有更好办法来实现这个功能。...简单一点说,ApplicationModel描述了MVC应用各种对象和行为,这些内容包含Application、Controller、Action、Parameter、Router、Page、Property...,而我们自定义Convention是一个IControllerModelConvention,正常来说应该会报错才对?

    1.2K40

    深入解析ASP.NET Core MVC应用模块化设计

    ASP.NET Core MVC“模块化”设计使我们可以构成应用基本单元Controller定义在任意模块(程序集),并在运行时动态加载和卸载。这种为“飞行飞机加油”方案是如何实现呢?...该系列两篇文章关注于这个主题,本篇着重介绍“模块化”总体设计,下篇我们演示介绍“分散定义ControllerN种实现方案。...作为特性类型ControllerFeature具有如下定义,从所有应用组成部分收集Controller类型就被存放在Controllers属性返回集合。...就实现了这个接口),然后从它们提供类型按照IsController方法提供规则筛选出有效Controller类型,并添加到ControllerFeature对象Controllers属性返回列表...{ get; } = new List(); public IList ApplicationParts

    27510

    【asp.net core】实现动态 Web API

    正文: 首先先创建我们解决方案如下: ? 因为动态 Web API 这一功能是与业务无关,而且为了复用,我们应该把这一功能实现写到一个单独类库当中。...当然参照 abp vnext Panda.DynamicWebApi 从 services 获取 ApplicationPartManager 对象实例也是可行。...现在我们 ApplicationServiceConvention 代码应该如下: using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.ActionConstraints...例如 int、long 这些就是基础类型,是不应该加上 FromBody 绑定,并且 abp vnext 进一步判断像 Nullable、Nullable、DateTime 这些也不应该加...演示: 历经千辛万苦,我们简易版动态 Web API 终于完成了。接下来我们可以 Demo 项目添加一下测试代码以及配置 swagger 来看一下效果。

    2.8K10

    5. abp集成asp.net core

    一、前言 参照前篇《4. abpasp.net core模块剖析》,首先放张图,这也是asp.net core框架上MVC模块扩展点 二、abpmvc对象 AbpAspNetCoreMvcOptions...模式,一般XXXOptions类都会在默认构造函数实例化一些对象,Options类作用就是一个POCO类注册到服务容器,使得我们可以在控制器构造函数通过IOptions获取到TOptions...这个类只有一个Create方法,返回当前TOptions类实例,当然,在这个方法构造了规约控制器配置(ConventionalControllerSetting)。...三、abp应用模型规约 在最上面的aspnetcore mvc扩展图中,规约模块(Convention)可以调换掉mvc框架默认应用模型(Model),从而自定义控制器等。...我们翻译过来就是:ApiExplorer包含发现和公开MVC应用程序元数据功能。从命名我们也能看出来这用来检索Api。abp是如何处理ApiExplorer呢?

    42410

    自己动手写一个简单MVC框架(第一版)

    为了保证程序纯净,我们可以所有默认引用都移除。当然,我们还是得保留几个必要dll引用: ?...  有了Controller之后,需要借助一个入口来指引请求到达指定Controller,所以这里我们实现一个最简单一般处理程序,它将url参数进行解析并实例化指定Controller进行后续请求处理...controller和action,并通过controller参数名称生成对应Controller实例对象,HttpContext对象作为参数传递给对应Controller对象进行后续处理。...模拟一个路由规则表:   (1)增加一个静态路由规则集合 // 定义路由规则 private static IList Routes;   (2)在Application_Start...路由模块就是一个很简单HttpModule(如果您对HttpModule不熟悉,请浏览翻译一篇文章:ASP.NET应用程序和页面生命周期),而ASP.NET MVC帮我们实现了UrlRoutingModule

    1K21

    Spring MVCHandlerMapping和HandlerAdapter是怎么工作

    后续写个demo大家演示一下是怎么做到。先来分析一下Spring MVC原生映射规则是怎么做到,搞懂了Spring MVC原生映射规则,再骚映射规则照样能看懂。...则是根据找到handler执行对应方法,然后返回ModelAndView Spring MVCHandler查找和执行分开了,你觉得哪个不好用,就把它替换一下 Handler三种实现方式 前面之所以说...Handler,是因为在Spring MVC,Handler常见实现方式有三种,虽然一般我们只用@RequestMapping注解 实现Controller接口 @Component("/index...选出最优返回对应Handler 如果还是没有找到,则返回null 这个查找逻辑举个例子 @Test public void test1() { AntPathMatcher pathMatcher...@RequestMapping对应RequestMappingHandlerMapping和RequestMappingHandlerAdapter应该是Spring MVC中最复杂部分了。

    1.2K10

    步步为营:三层架构+ASP.NET MVC 架构快速搭建(入门篇)

    上一篇博客《两天完成一个小型工程报价系统》,许多朋友向我讨源码。其实之后没发了,确实那种三层架构没什么意思,只是个人孤芳自赏,很多处理都不是很成熟。...所以我重新架构了一番,以一个小例子来阐述架构模式,当然,这和企业级架构还是差距很大,不过,还是值得一读。不积硅步,无以至江海,只有从小细节慢慢领悟,步步为营,才能设计出优秀企业级架构。  ...,只要实现了IBaseDao接口,则必须要实现接口定义契约,所以接口稳定至关重要,当然这样做好处是显而易见,减少了冗余代码。...hotelDB.Customer.AddObject(entity); bool returnValue = false; //返回受影响行数...表示层(MVC) 表示层当然是指挥家Controller去访问业务逻辑层,把数据装配到Model,交给View来显示。

    4.3K60

    ASP.NET Core MVC应用模型构建: 定制应用模型

    等)都提供了一个字典类型Properties属性,自定义IApplicationModelProvider实现类型以及各种形式约定类型都可以任意属性存储到这个字典。...Action方法参数列表和定义在Controller类型相应属性,所以描述参数ParameterModel对象和描述Controller属性PropertyModel对象需要提供服务于模型绑定元数据...MVC为这两种模型节点定义了如下这个IBindingModel接口,它利用BindingInfo属性返回BindingInfo对象提供绑定元数据。...在这个View,我们构成ApplicationModel对象所有ControllerModel名称、过滤器类型以及ApiExplorer相关两个对象以表格形式呈现出来。...我们针对该特性标注按照如下方式定义在Program.cs,该特性GroupName设置为 “Foobar” 。

    15310

    Spring MVC注解Controller源码流程解析---请求匹配容错处理

    Spring MVC注解Controller源码流程解析---请求匹配容错处理 引言 spring mvc对于请求路径匹配过程容错处理 请求匹配过程分析 溯源和请求前缀设置 Springboot...如何修改springmvc相关配置 通过代理完成对默认组件修改 ---- 引言 Spring MVC注解Controller源码流程解析–映射建立 Spring MVC注解Controller源码流程解析...---- spring mvc对于请求路径匹配过程容错处理 在Spring MVC注解Controller源码流程解析–定位HandlerMethod章节讲到过,当一个请求发出来时,首先会被RequestMappingHandlerMapping...还记得在映射建立过程,我们需要为当前方法生成一个生成一个映射接口?...//因此,我们完全可以一个请求前缀与多个handler相对应,匹配逻辑写在函数式接口中即可 //只需要确保当前传入handler类型匹配上我们提供某个handler时,返回true即可

    81910
    领券