Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在剃刀页面中的OnGetAsync中将值从另一个模型分配到另一个模型

在剃刀页面中的OnGetAsync中将值从另一个模型分配到另一个模型
EN

Stack Overflow用户
提问于 2018-08-11 17:43:15
回答 1查看 1.2K关注 0票数 0

我正在尝试将值从Razor PageOnGetAsync中的另一个Model赋值,以进行一些数据验证,然后将它们赋值回OnPostAsync上的实际Model以保存数据。

我在Input.TestName = TestData.TestName;这一行得到NullReferenceException错误

代码语言:javascript
运行
AI代码解释
复制
public class TestData
{
    [Key]
    public int TestID { get; set; }
    public string TestName { get; set; }
}

页面模型

代码语言:javascript
运行
AI代码解释
复制
    private readonly Test.Models.TestContext _context;
    public EditModel(Test.Models.TestContext context)
    {
        _context = context;
    }
    [BindProperty]
    public TestData TestData { get; set; }

    [BindProperty]
    public InputModel Input { get; set; }

    public class InputModel
    {
        [Required, MaxLength(50), MinLength(3)]
        public string TestName { get; set; }
    }

    public async Task<IActionResult> OnGetAsync(int? id)
    {
        TestData = await _context.TestData.FirstOrDefaultAsync(m => m.TestID == id);
        Input.TestName = TestData.TestName; //Error Occurs here. TestData.TestName has value while debug.
        return Page();
    }

    public async Task<IActionResult> OnPostAsync()
    {
        TestData.TestName = Input.TestName;
        _context.Attach(TestData).State = EntityState.Modified;
        await _context.SaveChangesAsync();
        return RedirectToPage("./Index");
    }

我在InputModel class之外尝试了TestName,它工作得很好,但我有很多属性可以像这样使用。所以我想把它们放在一个class

请建议我在这里遗漏了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-11 19:28:09

正如您在问题中确认在调试器中查看时TestData.TestName具有值一样,您应该将注意力转向Input.TestName。更具体地说,这可能意味着Input属性本身为null,这将导致您的NullReferenceException

这也是有道理的。当OnPostAsync被调用时,ASP.NET核心试图使用请求中的数据绑定到您的Input属性,这导致它为您创建一个InputModel实例。这是通过使用Input属性本身上已有的[BindProperty]属性启用的。

但是,当调用OnGetAsync时,不会发生相同的过程。默认情况下,[BindProperty]将只触发非GET请求来执行此绑定,这意味着OnGetAsync调用中的Input将为null (这是引用类型属性的默认设置)。

要解决此问题,请在尝试设置其TestName值之前,更新您的OnGetAsync实现以创建其自己的Input实例。以下是实现这一点的一种方法:

代码语言:javascript
运行
AI代码解释
复制
public async Task<IActionResult> OnGetAsync(int? id)
{
    TestData = await _context.TestData.FirstOrDefaultAsync(m => m.TestID == id);
    Input = new InputModel { TestName = TestData.TestName };
    return Page();
}

同样值得记住的是,如果id不匹配,您对FirstOrDefaultAsync的调用将把TestData设置为null,这将给您一个不同的NullReferenceException

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51802241

复制
相关文章
从图像到语言:图像标题生成与描述
对图像中的视觉内容进行归纳和总结,并使用合适的词汇与合理的语法结构将其重新组织并表达出来,是图像标题生成与描述的主要研究内容。 如图 1 所示,首先对图像中的视觉内容进行解析,将其转换成视觉语义编码,然后根据编码内容进行解码,将其映射到语言空间中,生成相关词汇,并组合成用词准确、结构合理的自然语言。 本节围绕该基本框架,从视觉特征提取、视觉语义选择和模型设计与优化等方面,介绍当前流行的方法和模型架。
苏州程序大白
2021/08/13
1.8K0
从图像到语言:图像标题生成与描述
使用机器学习生成图像描述
图像描述是为图像提供适当文字描述的过程。作为人类,这似乎是一件容易的任务,即使是五岁的孩子也可以轻松完成,但是我们如何编写一个将输入作为图像并生成标题作为输出的计算机程序呢?
deephub
2021/04/30
9970
基于Keras的多标签图像分类
本篇记录一下自己项目中用到的keras相关的部分。由于本项目既有涉及multi-class(多类分类),也有涉及multi-label(多标记分类)的部分,multi-class分类网上已经很多相关的文章了。这里就说一说multi-label的搭建网络的部分。之后如果有时间的时候,再说一说cross validation(交叉验证)和在epoch的callback函数中处理一些多标签度量metric的问题。
机器学习AI算法工程
2021/09/02
1.8K0
基于Keras的多标签图像分类
如何使用注意力模型生成图像描述?
我们的目标是用一句话来描述图片, 比如「一个冲浪者正在冲浪」。 本教程中用到了基于注意力的模型,它使我们很直观地看到当文字生成时模型会关注哪些部分。
AI研习社
2018/08/16
2.8K0
如何使用注意力模型生成图像描述?
在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
玩过图像分类的开发者不少,许多人或许对图像分割(image segmentation)也不陌生,但图像注解(image caption)的难度,无疑比前两者更进一步。 原因无他:利用神经网络来生成贴合
AI研习社
2018/03/28
1K0
在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
开发 | 在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
AI科技评论按:本文刊载于 Oreilly,AI科技评论编译。 玩过图像分类的开发者不少,许多人或许对图像分割(image segmentation)也不陌生,但图像注解(image caption)的难度,无疑比前两者更进一步。 原因无他:利用神经网络来生成贴合实际的图像注释,需要结合最新的计算机视觉和机器翻译技术,缺一不可。对于为输入图像生成文字注解,训练神经图像注解模型能使其成功几率最大化,并能生成新奇的图像描述。举个例子,下图便是在 MS COCO 数据集上训练的神经图像注解生成器,所输出的潜在注解
AI科技评论
2018/03/12
8550
开发 | 在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
【干货】让遥感图像活起来:遥感图像描述生成的模型与数据集探索
【导读】当下,深度学习在人类社会的各项领域中大放异彩。近年来,随着人造卫星技术的发展,遥感图像的智能化处理受到了愈加广泛的关注。虽然遥感图像的研究在场景分类和目标检测方面取得了显著进展,但是,如何用精确简洁的句子来描述遥感图像的内容仍然是一个很大的问题。代码已开源。本文研究利用精确、灵活的句子描述遥感图像。首先,针对遥感图像的特点,提出了一些有意义的标注方法,以更好地描述遥感图像。其次,为了充分利用遥感图像的内容,构建了一个用于遥感图像描述问题的大规模航空影像数据集。最后,对提出的数据集进行全面的分析,以更
WZEARW
2018/04/12
5.1K0
【干货】让遥感图像活起来:遥感图像描述生成的模型与数据集探索
【干货】基于属性学习和额外知识库的图像描述生成和视觉问答
【导读】这篇论文提出一种将高层次的概念与CNN-RNN成功结合的方法,并且实验表明这种方法在图像语义生成和视觉问答方面都取得了显着的进步。通过设计一个视觉问答模型,将图像内容的内部表示与从知识库中提取
WZEARW
2018/04/12
1.3K0
【干货】基于属性学习和额外知识库的图像描述生成和视觉问答
【图像分类】基于Pascal VOC2012增强数据的多标签图像分类实战
接着上一次的多标签分类综述,本文主要以Pascal VOC2012增强数据集进行多标签图像分类训练,详细介绍增强数据集制作、训练以及指标计算过程,并通过代码进行详细阐述,希望能为大家提供一定的帮助!
用户1508658
2019/07/27
1.9K0
【图像分类】基于Pascal VOC2012增强数据的多标签图像分类实战
基于image-level的弱监督图像语义分割大多数以传统分类网络作为基础,从分类网络中提取物体的位置信息,作为初始标注。
OpenCV学堂
2019/07/12
3.9K1
【图像分类】基于Pascal VOC2012增强数据的多标签图像分类实战
多标签图像分类
HCP: A Flexible CNN Framework for Multi-Label Image Classification
用户1148525
2019/05/26
1.2K0
[腾讯云上云实践]基于StyleGan2的图像生成基本操作
下载地址:https://cn.download.nvidia.com/tesla/511.65/511.65-data-center-tesla-desktop-win10-win11-64bit-dch-international.exe
SiriusR
2022/05/01
3.3K0
[腾讯云上云实践]基于StyleGan2的图像生成基本操作
图像生成:GAN
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
chaibubble
2019/09/18
9720
图像生成:GAN
图像生成:SaGAN
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
chaibubble
2019/09/25
1.1K0
图像生成:SaGAN
基于图像分类的动态图像增强
论文链接:http://openaccess.thecvf.com/content_cvpr_2018/papers/Sharma_Classification-Driven_Dynamic_Image_CVPR_2018_paper.pdf
Natalia_ljq
2020/06/03
1.5K0
基于图像分类的动态图像增强
基于复杂网络标签传播的交互式图像分割。
#include <math.h> #include "mex.h" /* Input Arguments */ #define maxiter_IN prhs[0] #define npart_IN prhs[1] #define nclass_IN prhs[2] #define omega_IN prhs[3] #define partnode_IN prhs[4] #define slabel_IN prhs[5] #
裴来凡
2022/05/28
4300
基于复杂网络标签传播的交互式图像分割。
图像描述(ImageCaption)任务简析
多模态机器学习,英文全称 MultiModal Machine Learning (MMML),旨在通过机器学习的方法实现处理和理解多源模态信息的能力。目前比较热门的研究方向是图像、视频、音频、语义之间的多模态学习。
用户3946442
2022/04/11
3K0
图像描述(ImageCaption)任务简析
多标签图像分类综述
图像分类作为计算机视觉领域的基础任务,经过大量的研究与试验,已经取得了傲人的成绩。然而,现有的分类任务大多是以单标签分类展开研究的。当图片中有多个标签时,又该如何进行分类呢?本篇综述将带领大家了解多标签图像分类这一方向,了解更具难度的图像分类。
小白学视觉
2019/10/31
2.7K0
多标签图像分类综述
图像检索:基于内容的图像检索技术(四)
基于树结构的最近邻搜索方法和基于哈希的最近邻搜索方法在理论计算机科学、机器学习以及计算机视觉中是一个很活跃的领域,这些方法通过将特征空间划分成很多小的单元,以此减少空间搜索的区域,从而达到次线性的计算复杂度。
用户3578099
2020/03/18
1.5K0
图像检索:基于内容的图像检索技术(三)
无论是对于相同物体图像检索还是相同类别图像检索,在大规模图像数据集上,它们具有三个典型的主要特征:图像数据量大、特征维度高以及要求相应时间短。下面对这三个主要特征逐一展开说明:
用户3578099
2020/03/04
2.4K0

相似问题

Drupal 7-以编程方式标记节点

16

Drupal以编程方式创建具有已发布工作台状态的节点

11

如何在Drupal6中以编程方式取消发布节点?

17

drupal 7-以编程方式禁用块

23

Drupal 7-以编程方式上传图像

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档