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

试图通过viewmodel将表中的模型列表传递回控制器,但总是返回null?

根据你的问题描述,你在尝试通过viewmodel将表中的模型列表传递回控制器时遇到了返回null的问题。这个问题通常出现在数据绑定或传递过程中出现了错误。以下是可能导致此问题的一些常见原因和解决方法:

  1. 检查视图模型的配置:确保你正确地配置了视图模型,并将模型列表作为属性绑定到视图中。检查视图模型类和相应的视图文件是否正确匹配,且数据绑定正常。
  2. 检查控制器的参数绑定:确保控制器的参数与视图模型的属性名称相匹配。ASP.NET MVC框架会自动将表单数据与视图模型进行绑定,但需要确保名称一致。
  3. 检查视图中的表单提交:确认表单中的提交按钮或操作是否正确绑定到控制器的动作方法。检查表单的提交方式(POST或GET)是否与控制器的动作方法一致。
  4. 检查数据传递的方式:如果使用ajax或其他方式进行数据传递,请确保传递的数据格式正确,且与控制器的参数类型相匹配。可以使用浏览器的开发者工具检查请求的数据。
  5. 检查模型绑定设置:如果使用了复杂类型的模型绑定,如集合或嵌套模型,需要确保模型绑定设置正确。可以使用属性绑定前缀或自定义模型绑定器来处理复杂类型的数据传递。

如果以上解决方法都无法解决问题,建议进行以下步骤来进一步调试和排查错误:

  1. 检查日志和错误信息:查看控制台输出、应用程序日志或相关错误信息,以获取更多关于错误原因的详细信息。
  2. 使用调试器进行调试:在开发环境中使用调试器,逐步跟踪代码执行流程,检查变量的值和方法调用过程,以找出可能的问题所在。

如果你使用的是腾讯云的产品,可以考虑使用云原生的解决方案。云原生是一种基于容器、微服务和DevOps的软件开发方法,旨在提高应用的可伸缩性、可靠性和可维护性。腾讯云的容器服务产品TKE(腾讯云容器引擎)可以帮助你快速部署和管理容器化的应用,实现云原生架构。

希望以上信息对你有帮助!如果还有其他问题,请随时提问。

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

相关·内容

ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader

下面是 activity 类文档中的一个手册表,它描述了在 activity 的哪个生命周期状态时你的应用是可被终止的: ?...当用户搜索音乐的时候 — 任何从数据库为 UI 控制器加载的复杂音乐数据应该马上存入 ViewModel。你也应该将搜索查询本身存入 ViewModel。...你通过 onSaveInstanceState() 的 bundle 将查询传入 ViewModel,这将决定它已加载了必须的数据从而不需要重新查询数据库。...如果搜索查询是通过 intent 的 extras 传进来,那么你就可以使用 extras 中的 bundle 代替 onSaveInstanceState() 中的 bundle。...Room 确保你的数据库更新时,LiveData 被通知到。 ? 由于 Loader 在 UI 控制器中作为回调被实现,因此 ViewModel 的一个额外优点是将 UI 控制器与数据加载分离开来。

3.8K30

ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader

当用户搜索音乐的时候 — 任何从数据库为 UI 控制器加载的复杂音乐数据应该马上存入 ViewModel。你也应该将搜索查询本身存入 ViewModel。...你通过 onSaveInstanceState() 的 bundle 将查询传入 ViewModel,这将决定它已加载了必须的数据从而不需要重新查询数据库。...此外,当你通过 intent 打开一个 activity,配置更改和系统恢复这个 activity 时 bundle 参数都会被传进来。...如果搜索查询是通过 intent 的 extras 传进来,那么你就可以使用 extras 中的 bundle 代替 onSaveInstanceState() 中的 bundle。...Room 确保你的数据库更新时,LiveData 被通知到。 由于 Loader 在 UI 控制器中作为回调被实现,因此 ViewModel 的一个额外优点是将 UI 控制器与数据加载分离开来。

1K20
  • 聊聊iOS开发之MVVM的架构设计

    视图控制器通过使用viewModel上的banners和dataSource数组中的对象来配置表格视图(tableView)的tableViewHeader和cell。...通常我们会期待展现 dataSource 的是数据-模型对象。同时你可能已经对其感到奇怪, 因为我们试图通过 MVVM模式不暴漏数据-模型对象。 (前面提到过的)。...在工作中如果遇到量级非常重的控制器,可以针对实际的业务,将一组业务逻辑相关的代码抽取到一个独立的视图模型中处理。你可用子viewModel 来代表屏幕上更小的、更潜在的被封装的部分。...想必大家还有一个疑惑,数据-模型(SUGoods)是否要通过属性的方式暴露在子视图模型(SUGoodsItemViewModel)的.h文件中?...-模型通过属性暴露在子视图模型的.h中,笔者将设计SUGoodsItemViewModel.h/m大致代码如下?

    8.8K92

    iOS探索 -- KVO 的原理分析

    NULL , 因为它的参数类型是 void * 是一个指针 (虽然传 nil 也没有问题, 但是严格来说的话应该传 NULL 吧)。...您可以指定NULL,并完全依赖键路径字符串来确定更改通知的来源,但这种方法可能会导致其父类出于不同原因也在观察同样的键路径的情况出现问题。...通过使用 context 字段, 可以更清楚的辨别当前的通知信息是发送给哪一个 观察者 的。当然, 如果不存在上述注释中说的那种情况下, 使用 NULL 是不会有影响的。 2....) context:NULL]; 复制代码 具体步骤: 首先有一个单例 Person , 在 控制器 A 中添加观察者观察 name 属性, 控制器 A 跳转到 控制器 B 控制器 B 也添加观察者观察...name 属性, 在 B 返回上一级页面 (也就是被销毁的时候) 时应该调用 remove 方法将观察者移除掉 如果 B 在返回的时候没有移除观察者, 在 A 再次修改 name 属性的时候就会引发崩溃触发野指针异常

    23710

    MVC、MVP、MVVM 架构的特点与区别

    (Model-View-Controller)和(Model-View-ViewModel)在概念上都是基于分层的,将表现与数据分开的设计架构,M 和 V 基本上不是问题,但将这两个整合的中间这层可就有很多的学问...Model返回结果,Controller返回数据给View渲染。 View渲染完成后,将数据结果呈现给用户。...图解 总结   首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。...MVVM特点    MVVM其实是对MVP的一种改进,他将Presenter替换成了ViewModel,并通过双向的数据绑定来实现视图和数据的交互。...我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁。

    63910

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

    二、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),并没有指定视图的完成路径...ViewBag 的语法使添加到控制器和视图的速度更快。 ViewBag 更易于检查 NULL 值。 示例:@ViewBag.Person?....并在视图文件(.cshtml)中通过 @model 语法指定对应的类型,这样我们可以在视图文件(.cshtml)中使用Model关键字来使用传输到视图的该类型的实例。

    2.3K50

    MVC、MVP、MVVM 架构的特点与区别

    (Model-View-Controller)和(Model-View-ViewModel)在概念上都是基于分层的,将表现与数据分开的设计架构,M 和 V 基本上不是问题,但将这两个整合的中间这层可就有很多的学问...Model返回结果,Controller返回数据给View渲染。 View渲染完成后,将数据结果呈现给用户。...图解 总结   首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。...MVVM特点    MVVM其实是对MVP的一种改进,他将Presenter替换成了ViewModel,并通过双向的数据绑定来实现视图和数据的交互。...我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁。

    87910

    一篇可能会让你爱上MVVM与ReactiveCocoa的文章

    概要 在此工程中,本文将讨论将MVC改造为MVVM需要的一些基本方法,同时会适当穿插部分关于MVVM概念性的讨论!...中,而且你的ViewModel不仅这个控制器可以用,其他的控制器也可以用.虽然从单个控制器的逻辑代码量来看,优化不是很显著,但是ViewModel的模块化特性,将在涉及到页面复用以及后期维护时,让人感觉心旷神怡...新增ViewModel: YFBlogDetailViewModel 表示文章的视图模型;YFBlogListViewModel 表示 分类文章列表的视图模型; YFBlogListItemViewModel...YFBlogListItemViewModel 博客列表单个单元格的视图模型 添加属性intro: 这个viewModel 供展示博客列表中的单个单元格使用,但根据目前的UI显示,只需要一个字段即可,我们给它命名为...控制器中的代码,真的被精简了不少,以博客列表控制器为例,几乎占据1/2控制器代码量的网络请求与数据分页的代码,被简化为一句话: [RACObserve(self.viewModel, blogListItemViewModels

    1.3K60

    “终于懂了“系列:Jetpack AAC完整解析(三)ViewModel 完全掌握!

    这篇来介绍与LiveData搭配使用的视图模型组件——ViewModel。 注意,如果你对MVVM架构中的VM和本篇的ViewModel都没有一定认识的话,那么就不要将两者进行联想了。...一、ViewModel介绍 ViewModel是Jetpack AAC的重要组件,同时也有一个同名抽象类。 ViewModel,意为 视图模型,即 为界面准备数据的模型。...UI层(如 Activity 和 Fragment)经常需要通过逻辑层(如MVP中的Presenter)进行异步请求,可能需要一些时间才能返回结果,如果逻辑层持有UI层应用(如context),那么UI...然后通过ViewModelProvider的get方法 获取ViewModel实例,然后就是 观察ViewModel中的LiveData。 运行后,点击按钮 会弹出进度条,2s后展示用户信息。...ViewModel的创建必须通过ViewModelProvider。 注意到ViewModel中没有持有任何UI相关的引用。 旋转手机重建Activity后,数据确实恢复了。

    1.8K10

    Android 面试题:为什么 Activity 都重建了 ViewModel 还存在?—— Jetpack 系列(3)

    ViewModel 的作用可以区分 2 个维度来理解: 1、界面控制器维度: 在最初的 MVC 模式中,Activity / Fragment 中承担的职责过重,因此,在后续的 UI 开发模式中,我们选择将...这意味着 ViewModel 实例一定不会存放在 ViewModelStore 中,将失去 ViewModel 恢复界面数据的特性。...创建 ViewModelProvider 工具类后,你将通过 get() 方法来创建 ViewModel 的实例。...get() 方法内部首先会通过 ViewModel 的全限定类名从映射表(ViewModelStore)中取缓存,未命中才会通过 ViewModel 工厂创建实例再缓存到映射表中。...这往往是因为数据层是通过回调监听器的方式返回数据,并且数据层是单例对象或者属于全局生命周期,所以导致 Activity 销毁了,但是数据层依然间接持有 ViewModel 的引用。

    1.2K20

    C# WPF MVVM开发框架Caliburn.Micro Screens, Conductors 和 Composition⑦

    虽然这些模式主要通过从特定基类继承ViewModels来在CM中使用,但将它们视为角色而不是视图模型是很重要的。事实上,根据您的体系结构,屏幕可以是用户控件、演示者或视图模型。不过这有点超前了。...GetChildren–调用此方法返回导体正在跟踪的所有项目的列表。如果导体使用“屏幕集合”,则返回所有“屏幕”,否则仅返回ActiveItem。...这个单一的约定使得框架中功能强大但简单的ViewModel优先组合成为可能。...DialogConductor的视图覆盖CustomerView,但仅当DialogConductor的ActiveItem不为null时才可见(通过值转换器)。...如果为true,则获取实现应用程序特定接口IHaveShutdownTask的所有已执行项。 通过调用GetShutdownTask检索关机任务。如果没有任务,它将返回null,所以将其过滤掉。

    2.6K20

    C# WPF MVVM开发框架Caliburn.Micro 关于Conventions⑧

    它总是通过ViewLocator.LocateForModel间接调用。LocateForModel获取ViewModel的实例并返回视图的实例。...如上所述,ViewModelBinder“在UI中搜索绑定/操作的候选元素列表,并将其与ViewModel的属性和方法进行比较。”...TabControl,我们可以常规地在选项卡列表(ItemsSource)中绑定选项卡项的名称(ItemTemplate)、每个选项卡的内容(ContentTemplate),并保持所选选项卡与模型同步...如果它们都为null,则表示尚未为模型指定渲染器。因此,我们假设您希望使用ViewModel First工作流。...因此,如果您使用指向分级控件的ElementName创建了一个操作绑定,但没有指定属性,那么我们将返回到“Value”属性。最后,第三个参数表示控件的默认事件。

    2.8K20

    使用流动控制器(Flow Controller )实现 MVVM 协议模型

    流之间的通信是通过一个共同的、可以传递窗口引用或导航控制器的对象,那可以让你创造出不同流的导航。...另一个例子是抽象相似界面,如网格和列表使用相同的 ViewModel 。抽象必然会更复杂些,但当你的应用程序的增长或者随着时间的变化,你的收益也会越来越多。...这需要这些实体之间的代码耦合更具优势。 我们可以看到在 OwlsFlowController 案例中,通过配置选择是否在网格还是列表中显示数据,在本例中是固定的,但它可以有两种测试情况。...(ofIndex: id)) childFlow.start() } } 该模型的有点是应用中的大多数列表都共享相同的行为和相同的接口。...在本例中,只有数据和子单元的变化,可以作为一个参数传递,并为所有列表创建一份可重用的代码。 这里有趣的一点是实现了两种响应协议:一个用于网格和一个列表。但两个的实现是相同的。

    1K40

    MVVM与MVC在项目开发中的应用对比

    本文将深入探讨这两种模式在项目开发中的应用,并通过对比分析,帮助读者更好地理解它们的差异与联系。...MVC的运作机制在MVC模式中,用户通过视图发送请求到控制器,控制器根据请求调用相应的模型进行处理,模型处理完毕后,将结果返回给控制器,控制器再更新视图以反映最新的数据状态。...紧耦合: 虽然MVC模式在组件之间实现了松耦合,但视图和控制器之间仍然存在较强的耦合关系。测试困难: 由于控制器直接与视图交互,这可能导致单元测试的难度增加。...MVVM模式详解MVVM的核心理念MVVM模式是对MVC模式的一种改进,它进一步将视图的状态和行为抽象化,通过ViewModel来管理视图的数据和逻辑。...ViewModel(视图模型): 使用Vue.js的组件和数据绑定功能,定义视图模型,处理视图的逻辑和状态。例如,定义一个商品列表组件,通过数据绑定展示商品信息,并处理分页和筛选逻辑。

    9000

    Android Jetpack - Lifecycles

    我们知道四大基础组件有生命周期,能感知这些生命周期的组件就具备了生命周期感知能力,所以我认为以前我们使用的 MVP 模式中的 Presenter 如果它通过接口等方式间接获得了 Activity 的生命周期...他们不应该试图获取自己的数据;相反,使用 ViewModel 执行此操作,并观察 LiveData 对象以将更改反映回 UI 尝试编写数据驱动的 UI,其中 UI 控制器负责在数据更改时更新视图,或将用户操作通知给...ViewModel 将您的数据逻辑放在 ViewModel 类中。...ViewModel 应该充当 UI 控制器和应用程序其余部分之间的连接器。但要注意,ViewModel 不负责获取数据(例如,从网络获取)。...相反,ViewModel 应调用适当的组件来获取数据,然后将结果提供回 UI 控制器 使用数据绑定来维护视图和 UI 控制器之间的干净界面。

    1.4K30

    ViewModels 简单入门

    在这篇文章中,我会: 解释ViewModel满足的基本需求 通过更改 Court-Counter 代码以使用 ViewModel 解决旋转问题 仔细审视 ViewModel 和 UI 组件的关联 潜在的问题...一个简单的例子 分三步骤来设置和使用ViewModel: 通过创建一个扩展 ViewModel 类来从UI控制器中分离出你的数据 建立你的 ViewModel 和UI控制器之间的通信 在 UI 控制器中使用你的...之所以不这样做是因为,ViewModel 比 UI控制器生命周期长,比如你旋转一个Activity三次,会得到三个不同的Activity实例,但ViewModel只有一个。...它会返回之前 Court-Counter MainActivity 中创建的 ViewModel。 这就是它持有数据的方式。 只有给 UI controller 提供正确的UI控制器作为参数才可以。...比赛呈现在列表里,然后点击列表中的比赛就会开启一屏与 MainActivity 一样的画面,后面我就叫它 GameScoreActivity。

    1.2K70

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

    (补充:ViewModel:视图模型) V:View 是用户接口层组件。主要是将Model中的数据展示给用户。...可以看出,对于MVC的两种不同理解的区别就在于对于Model的理解上:将Model作为业务模型(BLL、DAL等)还是作为视图模型(ViewModel)。 三、WebForm vs MVC ?   ...(2)MVC 优点: 1.很容易将复杂的应用分成Model(ViewModel)、View、Controller三个组件模型,将处理后台逻辑代码与前台展示逻辑进行了很好的分离,属于松耦合关系,在大项目应用中...其中,Controllers是所有控制器的类文件所在,而Models则是所有模型的类文件所在,而Views则是所有cshtml或aspx的文件所在。...(3)控制器的Action方法执行完成后,返回ViewResult,然后MVC框架在执行ExcuteResult方法时,Controller中的ViewData数据会传递给ViewPage类,其实就是把

    2K30

    ASP.NET MVC编程——模型

    1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用。...2模型绑定 默认模型绑定器 通过DefaultModelBinder解析客户端传来的数据,为控制器的操作参数列表赋值。...= null) { //验证逻辑 //验证失败,返回错误信息 string errorMessage...当操作带有参数时,MVC框架使用模型绑定器(默认的或自定义的)在Http请求中查找数据,用于构建控制器操作的参数列表。 验证发生的时间 模型验证是在操作执行之前完成的。...当模型绑定器使用新值对模型属性更新后,会利用当前模型元数据获得模型验证器,模型验证器会找到所有施加于模型属性的特性并执行验证逻辑,然后模型绑定器会捕获所有失败的验证规则,并将它们放入模型状态中。

    2.4K80

    响应式架构最佳实践——MVI

    总之,MVVM架构最好的部分是ViewModel,但我认为它没有遵循MVC模式中定义的Model概念,因为在MVVM中,DAO(数据访问对象)的抽象被认为是Model,视图观察来自ViewModel的多个可观察属性的状态变化...另外,这些来自ViewModel的多个可观察属性会导致状态重叠问题(两个不同的状态被意外显示)。 MVI模式通过添加一个实际的 "Model "层来解决这个问题,该层由视图观察状态变化。...在下面的架构中,我试图结合MVVM和MVI模式的优点,为任何Android项目提供更好的架构,在此基础上,我通过为View和ViewModel创建基类,尽可能多地抽象出一些东西。...此外,我们正在记录每个viewEvent,我们将处理这些事件。 这就是我们如何为我们的任何Activity/Fragment/视图创建一个ViewModel。...但相信我,这将会得到回报,因为追踪任何问题/崩溃的原因将变得非常容易。

    1.8K20

    LiveData beyond the ViewModel

    LiveData被设计用来实现观察者模式,允许视图控制器(Activity、Fragment等)和UI数据的来源(通常是ViewModel)之间进行通信。...通过LiveData,这种通信更加安全:由于它的生命周期意识,数据只有在View处于Activity状态时才会被接收。 简而言之,其优点是你不需要在View和ViewModel之间手动取消订阅。...img LiveData beyond the ViewModel 可观察范式在视图控制器和ViewModel之间工作得非常好,所以你可以用它来观察你的应用程序的其他组件,并利用生命周期意识的优势。...Patterns One-to-one static transformation — map img 在我们上面的例子中,ViewModel只是将数据从资源库转发到视图,将其转换为UI模型。...(只有一个实例),你就可以总是返回同一个LiveData,对吗?

    1.5K30
    领券