首页
学习
活动
专区
工具
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架构设计

    视图控制器通过使用viewModelbanners和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 属性时候就会引发崩溃触发野指针异常

    23610

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

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

    58710

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

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

    54510

    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.2K50

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

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

    1.3K60

    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

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

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

    1.8K10

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

    虽然这些模式主要通过从特定基类继承ViewModels来在CM中使用,将它们视为角色而不是视图模型是很重要。事实上,根据您体系结构,屏幕可以是用户控件、演示者或视图模型。不过这有点超前了。...GetChildren–调用此方法返回导体正在跟踪所有项目的列表。如果导体使用“屏幕集合”,则返回所有“屏幕”,否则仅返回ActiveItem。...这个单一约定使得框架功能强大简单ViewModel优先组合成为可能。...DialogConductor视图覆盖CustomerView,仅当DialogConductorActiveItem不为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() } } 该模型有点是应用大多数列表都共享相同行为和相同接口。...在本例,只有数据和子单元变化,可以作为一个参数传递,并为所有列表创建一份可重用代码。 这里有趣一点是实现了两种响应协议:一个用于网格和一个列表两个实现是相同

    99640

    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编程——模型

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

    2.4K80

    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方法时,ControllerViewData数据会传递给ViewPage类,其实就是把

    2K30

    Android Paging库使用详解(小结)

    在这些情况下, 把adapter数据类型转化为LiveData<PagedList , 之后在尝试使用这些数据项在UI填充起来之前, 这个列表在ArrayAdapter对象包裹起来....UI构件及其出发点 UI和视图模型联接起来 你可以按照如下方式, LiveData<PagedList 实例跟PagedListAdapter联系起来: private val adapter =...备注: PageList是内容不可变. 这意味着, 尽管新内容能够被加载到PagedList实例, 已加载项一旦加载完成便不能发生改变....在UI中提供占位符 在应用完成拉取数据之前, 如果你想UI展示一个列表, 你可以向用户展示占位符列表项. RecyclerView通过列表项临时地设置为null来处理这个情况....你正在使用adapter或者展示机制来准备填充列表, 需要处理null列表项. 比如, 当数据绑定到ViewHolder时候, 你需要提供默认值表示未加载数据.

    2.1K30

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

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

    1.7K20

    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
    领券