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

在ASP.NET MVC中将ViewModel中的列表从视图传递到控制器

在ASP.NET MVC中,可以通过以下步骤将ViewModel中的列表从视图传递到控制器:

  1. 首先,在视图中定义一个表单,用于提交数据到控制器。可以使用HTML的<form>标签或者使用Html.BeginForm()方法创建表单。
  2. 在表单中,使用@foreach循环遍历ViewModel中的列表,并为每个列表项创建一个表单元素。例如,可以使用<input>标签或者Html.TextBoxFor()方法创建文本框。
  3. 为每个表单元素设置一个唯一的名称,并将ViewModel中的列表项的值绑定到表单元素上。可以使用@Html.HiddenFor()方法创建隐藏字段,将列表项的值传递到控制器。
  4. 在表单中添加一个提交按钮,用于将数据提交到控制器。可以使用<input type="submit">标签或者Html.SubmitButton()方法创建提交按钮。
  5. 在控制器的相应动作方法中,接收ViewModel作为参数,并使用模型绑定将表单数据绑定到ViewModel中。可以使用[HttpPost]特性标记动作方法,以确保只有在POST请求时才能访问该方法。

以下是一个示例代码:

在视图中(例如,Index.cshtml):

代码语言:txt
复制
@model YourViewModel

@using (Html.BeginForm("YourAction", "YourController", FormMethod.Post))
{
    @foreach (var item in Model.YourList)
    {
        @Html.HiddenFor(modelItem => item.Id)
        @Html.TextBoxFor(modelItem => item.Name)
    }

    <input type="submit" value="Submit">
}

在控制器中:

代码语言:txt
复制
[HttpPost]
public ActionResult YourAction(YourViewModel viewModel)
{
    // 在这里处理接收到的ViewModel数据
    // 可以访问viewModel.YourList来获取列表数据

    return RedirectToAction("Index");
}

请注意,以上示例中的代码仅供参考,具体实现可能会根据项目的需求和架构而有所不同。

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

相关·内容

ASP.NET MVC 5 - 将数据从控制器传递给视图

在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。...您可以把视图模板需要的动态数据 (参数)在控制器中放入到一个ViewBag对象中,然后视图模板可以访问这个对象。...name=Scott&numtimes=4 现在,模型绑定(model binder) 使得数据从URL传递给控制器。控制器将数据装入到ViewBag对象中,通过该对象传递给视图。...然后视图为用户生成显示所需的HTML。 ? 在上面的示例中,我们使用了ViewBag对象把数据从控制器传递给了视图。在本系列教程后面的文章中,我们将使用视图模型来将数据从一个控制器传递到视图中。...学习了本节内容,才能更好的理解数据是如何从控制器传递到视图显示的。在掌握这些MVC知识的同时,也可以借助一些开发工具来帮助开发过程。

5K100

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

(补充:ViewModel:视图模型) V:View 是用户接口层组件。主要是将Model中的数据展示给用户。...aspx和ascx文件被用来处理视图的职责; C: Controller 处理用户交互,从Model中获取数据并将数据传给指定的View;   (1)MVC作为架构模式的理解 ?   ...ViewState在页面中的传递会造成大量的流量消耗; TIP:有关WebForm的服务器控件和ViewState的详细介绍,不了解的朋友可以阅读另一篇博文《ASP.Net WebForm学习笔记:aspx...(2)MVC 优点: 1.很容易将复杂的应用分成Model(ViewModel)、View、Controller三个组件模型,将处理后台逻辑代码与前台展示逻辑进行了很好的分离,属于松耦合关系,在大项目应用中...Shared:例如公用的错误页、列表模板页、表单模板页等等; 4.4 数据传递的桥梁-ViewData与ViewBag   首先,ViewData是一个Key/Value对的字典集合数据结构,用于在Controller

2K30
  • ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    (补充:ViewModel:视图模型) V:View 是用户接口层组件。主要是将Model中的数据展示给用户。...aspx和ascx文件被用来处理视图的职责; C: Controller 处理用户交互,从Model中获取数据并将数据传给指定的View;   (1)MVC作为架构模式的理解   ...ViewState在页面中的传递会造成大量的流量消耗; TIP:有关WebForm的服务器控件和ViewState的详细介绍,不了解的朋友可以阅读另一篇博文《ASP.Net WebForm学习笔记:aspx...(2)MVC 优点: 1.很容易将复杂的应用分成Model(ViewModel)、View、Controller三个组件模型,将处理后台逻辑代码与前台展示逻辑进行了很好的分离,属于松耦合关系,在大项目应用中...:例如公用的错误页、列表模板页、表单模板页等等; 4.4 数据传递的桥梁-ViewData与ViewBag   首先,ViewData是一个 Key/Value对的字典集合数据结构,用于在

    91020

    ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门

    幸运的是,VS Code C#扩展 从 1.17.0 版本开始支持Razor视图引擎的智能感知。 所以,我们要将VS Code C#扩展升级到最新版本。...二、ASP.NET Core MVC 视图引擎(Razor)简介 1、ASP.NET Core MVC 视图引擎(Razor)概述 在MVC架构模式中,视图引擎/模板引擎负责将控制器(Controller...控制器(Controller)再将渲染的结果返回给请求的客户端。 在 ASP.NET Core MVC框架中,提供了视图引擎:Razor。 Razor提供了后缀为.cshtml的视图模板。...这是因为按照 ASP.NET Core MVC框架的约定,当我们在控制器(Controller)返回一个视图(return View();)时,如果只指定了视图名称(ViewName),并没有指定视图的完成路径...并在视图文件(.cshtml)中通过 @model 语法指定对应的类型,这样我们可以在视图文件(.cshtml)中使用Model关键字来使用传输到视图的该类型的实例。

    2.3K50

    Asp.net mvc 知多少(一)

    什么是MVC? Ans. MVC是Model-View-Controller的简称。它是在1970年引入的软件设计模式。MVC 模式强迫关注分离 — 域模型和控制器逻辑与UI是松耦合关系。...通常来讲,控制器在视图和模型之间扮演着桥梁(协调者)的角色。 Q3. 什么是领域驱动设计开发? Ans....MVVM支持在View与ViewModel之间进行双向数据绑定。通过视图模型的状态就能够自动的传播改动到View。...这些对象用来从Controller传递数据到强类型的View,反之亦然。这些对象对应的类通过数据注解指定定的验证规则。通常来说,这些类拥有你想要展示到对应View/Page的属性。...The View in ASP.NET MVC View就是展示从Controller传递的数据。同时肩负着将Model进行转换以在View的UI上进行展示。

    2.3K70

    七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)——...在实验三中们将在View中动态显示数据。 View将从从Controller获得Model中的数据。 Model是MVC中 表示业务数据的层。...理解ASP.NET MVC 中的View Model 实验5中已经违反了MVC的基本准则。根据MVC,V是View纯UI,不包含任何逻辑层。而我们在实验5中以下三点违反了MVC的体系架构规则。 1....Controller 将ViewModel数据以ViewData或ViewBag或强类型View等对象传递到View中。 Controller 返回View。...在本实例中,初始阶段的ViewModel将与Model几乎完全相同。 实验7——带有集合的View 在本实验中,在View中显示Employee列表。 1.

    2.3K90

    【asp.net core 系列】3 视图以及视图与控制器

    0.前言 在之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元。这一篇我们将介绍一下控制器与视图直接的关系。 1....视图 这里的视图不是数据库里的视图,是一种展示技术。在asp.net core mvc项目中视图是指以cshtml做扩展名的文件,通常在Views文件夹。...所以asp.net core mvc 设置了在名为_ViewImports.cshtml的文件中添加引用,则在Views下所有视图中都生效。...1.2 ViewsStart _ViewStart.cshtml 作用从名字中可见一二,这个文件用来配置一些在视图刚开始加载时的一些配置内容。...在上一小节中,我们分别使用ViewData和ViewBag以及ViewModel给视图传递了三个数据,那么如何在视图中获取这三个数据呢?

    2.6K10

    ASP.NET Core MVC 概述

    强类型视图通常使用 ViewModel 类型,旨在包含要在该视图上显示的数据。 控制器从模型创建并填充 ViewModel 实例。 备注 可通过多种方法在使用 MVC 体系结构模式的应用中组织模型。...控制器职责 控制器 (C) 是处理用户交互、使用模型并最终选择要呈现的视图的组件。 在 MVC 应用程序中,视图仅显示信息;控制器处理并响应用户输入和交互。...在 MVC 模式中,控制器是初始入口点,负责选择要使用的模型类型和要呈现的视图(因此得名 - 它控制应用如何响应给定请求)。 备注 控制器不应由于责任过多而变得过于复杂。...区域是应用程序内的一个 MVC 结构。 在 MVC 项目中,模型、控制器和视图等逻辑组件保存在不同的文件夹中,MVC 使用命名约定来创建这些组件之间的关系。...强类型视图 可以基于模型强类型化 MVC 中的 Razor 视图。 控制器可以将强类型化的模型传递给视图,使视图具备类型检查和 IntelliSense 支持。

    6.4K20

    MVC3教程之新手入门

    二、从Helloworld开始 我们从最简单的Helloworld程序开始,体验MVC3带来的强劲便捷的功能。   ...step1.新建MVC3项目 打开新建项目窗口,在“已安装的模板”列表中选择“Web”,在右侧应用程序模板列表中选择“ASP.NET MVC3 Web应用程序”,修改项目名称为“MVCHelloworld...属性,MVC2 中的控制器支持 ViewData 属性,允许通过后绑定的字典将数据传送给视图模板,在 MVC3 中,你可以通过 ViewBag 来更加简单的完成。...注意,在许多预发布版本中,这个属性被称为 ViewModel。   ...OK,本节就到此结束了,在本节中,我们演示了如何创建MVC3项目、添加控制器、添加视图、为视图传递参数等操作,在下一节中,我们会引入实体模型、Entity Framework4.1 Code-First

    1.5K20

    MVC 是什么?它是如何工作的?-15

    MVC 是什么?它是如何工作的?我们来解剖它 在本节课中我们要讨论的内容: 什么是 MVC? 它是如何工作的? 什么是 MVC ?...除了创建 Model 之外,控制器还选择 View 并将 Model 对象传递给该 View。 视图仅负责呈现 Modle 的数据。...假设在我们的示例中,我们希望在 HTML 表中显示Student数据。 这种情况下的视图会和Student对象一起提供。 Student对象是将学生数据传递给视图的模型。...此映射为 由我们的 web 应用程序中定义的路由规则完成。 我们将在即将发布的视频中详细讨论 ASP.NET Core MVC 中的路由。...在我们的下一个视频中,我们将讨论在我们的 asp.net core 应用程序中设置 MVC 中间件。

    2.2K40

    正式开始学习ASP.NET Core 6 Razor Pages 介绍

    ASP.NET Core MVC与Razor Pages MVC 是用于实现应用程序的用户界面层的架构设计模式 Model(模型):包含一组数据的类和从底层数据源(如数据库)查询数据的逻辑。...Controller(控制器):处理 Http 请求,调用模型,请选择一个视图来呈现该模型 除了创建模型外,控制器还选择一个视图并将模型对象传递给该视图。...该视图包含表示逻辑,以显示控制器提供的模型数据。 在MVC中,除了Model,View和Controller外,我们还有Actions和ViewModels。...因此,与MVC中的控制器不同,使用用不相关的方法让PageModel类变得臃肿几乎是不可能的。...无论您使用ASP.NET Core MVC还是Razor Pages来构建Web应用程序,从性能的角度来看都没有什么区别。

    3.8K10

    Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目

    第二节:Asp.Net MVC的请求处理模型 在上一篇中我们也简单做了个小例子,直接添加一个Controller,然后在Action上添加一个View,直接运行,然后就在我们面前呈现了一个普通的Html...在讲解之前我们先认识几个概念: Controller:控制器。在Contrller文件夹添加的以Controller结尾的类就是控制器,它的每个方法就是一个Action。...Model:很多人把Model理解成领域模型,而MVC本身是一个表现模式,它是更倾向于UI层的一个框架,所以一般我们指定的Model呢在使用时一般作为ViewModel来用,但是总的MVC的思想呢,Model...在Action中我们一般会从业务的Façade层取出数据,然后将传输层的数据转换成ViewModel再交给View的视图引擎渲染,最终生成Html的字节流写回客户端。...总结一下: Asp.Net MVC所有的请求都归结到Action上,而且Asp.Net MVC请求--处理--响应的模型非常清晰,而且没有WebFrom那种复杂的生命周期,整个请求处理非常明晰简单,又回归到了最原始的

    96410

    ASP.NET MVC 5 -从控制器访问数据模型

    private MovieDBContext db = new MovieDBContext(); 强类型模型和 @model 关键字 在本系列前面教程中,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板...ViewBag是一个动态的对象,提供了方便的后期绑定(late-bound)方法将信息传递给视图。 MVC 还提供了传递强类型对象(strongly typed objects)到视图模板的能力。...此代码在控制器中传递Movies列表给视图: public ActionResult Index() { return View(db.Movies.ToList()); } 当您创建电影控制器时...从控制器访问数据模型是MVC数据传递中重要的知识部分,深入理解了这部分内容才能更好的进行MVC开发。当然,借助一些开发工具一样助力开发过程。...ASP.NET MVC 5 - 将数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6.

    5.9K50

    ASP.NET MVC编程——模型

    1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用。...2模型绑定 默认模型绑定器 通过DefaultModelBinder解析客户端传来的数据,为控制器的操作参数列表赋值。...清空模型绑定状态 使用ModelState.Clear();清空模型绑定状态以后,验证失败的信息就不会显示到视图上,即使在视图中使用@Html.ValidationSummary()方法。...当操作带有参数时,MVC框架使用模型绑定器(默认的或自定义的)在Http请求中查找数据,用于构建控制器操作的参数列表。 验证发生的时间 模型验证是在操作执行之前完成的。...Scott Allen,孙远帅/邹权译  ASP.NET MVC4 高级编程(第四版) 3.黄保翕,ASP.NET MVC4开发指南 4.蒋金楠,ASP.NET MVC4框架揭秘 5.https://www.asp.net

    2.4K80

    Asp.Net MVC4入门指南(5):从控制器访问数据模型

    强类型模型和 @model 关键字 在本系列之前的教程中,您看到了使用ViewBag对象,从控制器传递数据或对象给视图模板。ViewBag是一个动态的对象,提供了方便的后期绑定方法将信息传递给视图。...ASP.NET MVC 还提供了传递强类型数据或对象到视图模板的能力。这种强类型使得更好的在编译时检查您的代码并在Visual Studio 编辑器中提供更加丰富的智能感知。...此代码在控制器中传递Movies列表给视图: public ActionResult Index() { return View(db.Movies.ToList()); } 当您创建电影控制器时...model声明使得控制器可以将强类型的电影列表Model对象传递给View视图。...并添加一个SearchIndex方法和SearchIndex视图,使您可以在数据库中搜索电影了。从控制器访问数据模型是MVC数据传递中重要的知识部分,深入理解了这部分内容才能更好的进行MVC开发。

    4.2K50

    七天学会ASP.NET MVC(七)——创建单页应用

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)——...将MVC项目的ViewModels文件夹下所有的文件复制到新建的ViewModel 类库项中。 7. 删除ViewModels文件夹 8....实验33——创建单页应用 1—安装 实验33中,不再使用已创建好的控制器和视图,会创建新的控制器及视图,创建新控制器和视图原因如下: 1. 保证现有的选项完整,也会用于旧版本与新版本对比 2....Controllers—只能保存在Controller 文件夹,但是这不是大问题,从MVC4开始,控制器的路径不再受限。现在可以放在任何文件目录下。....net中的复杂数据通常指的是类和对象,这一类数据,.net与其他技术传递复杂数据就意味着传类对象的数据,从JavaScript给其他技术传的复杂类型数据就是JavaScript对象。

    4.3K60

    七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)——...HeaderFooterFilter会确保页眉和页脚数据能够正确传递到ViewModel中,AdminFilter限制非管理员用户的访问。 3.创建上传View 创建以上Action方法的View。...创建异步控制器 在控制器中将基类 UploadController修改为 AsynController。...将AllowAnonymous属性应用到 ErrorController中,因为错误控制器和index方法不应该只绑定到认证用户,也很有可能用户在登录之前已经输入错误的URL。...理解ASP.NET MVC 请求周期 在本节中我们只讲解请求周期中重要的知识点 1.

    3.9K100

    系统架构师-基础到企业应用架构-分层

    Castle:Castle是针对.NET平台下的一个非常优秀的开源项目,从数据访问框架 ORM到依赖注入容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务...web上通过asp.net MVC框架来实现前端页面及后端控制器之间的隔离。        视图 视图是用户看到并与之交互的界面。...MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。       ...控制器 控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。...内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller。

    1.4K20
    领券