首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在mvc中,检查模型是否为空。

在mvc中,检查模型是否为空。
EN

Stack Overflow用户
提问于 2017-02-17 05:02:56
回答 2查看 863关注 0票数 0

我试图检查模型是否为空,但我无法解决这个问题。在呈现主视图时,我将部分视图呈现如下

主视图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="modal fade" id="surveyPreviewModal" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-labelledby="surveyPreviewLabel" aria-hidden="true">
    <div class="modal-lg modal-dialog">
        <div class="modal-content" id="surveyPreviewContent">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
                    &times;
                </button>
                <h4 class="modal-title" id="surveyPreviewLabel">Survey Preview</h4>

            </div>
            <div class="modal-body" id="surveyPreviewBody">
                @Html.Partial("_surveyPreview")
            </div>
        </div>
    </div>
</div>

在部分视图中,我的功能如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@model LMS_TraineeSurveyPaginationViewModel
<script type="text/javascript">

function SurveyPreview(){
var surveyQuestionViewModel = @Html.Raw(Json.Serialize(Model.SurveyQuestionsViewModel.ToArray()));
var surveyQuestionOptionChoideViewModel= @Html.Raw(Json.Serialize(Model.SurveyQuestionOptionChoiceViewModel.ToArray()));

$.post('@Url.Action("SurveyPreview", "Survey")', { SurveyID : surveyID,` page : page },
             function (data) {

                 $('#surveyPreviewBody').html('');
                 $('#surveyPreviewBody').html(data);

                 SetProgressBar(page,'@(Model==null?0: Model.Pager.TotalPages)');

             }).fail(function () {
                 alert("error in GetTraineeSurvey");
             }).success(function () {

             });         
}
</script>

因此,在呈现此函数(SurveyPreview)中的部分视图时,当模型为null时,它会给出错误,并立即显示白色屏幕。如果我没有调用部分视图中的函数,那么它为什么要检查模型是否为空?它应该是每当我执行功能,如按一下按钮?

在显示引导模式的主视图上有一个按钮,在引导模式的'show‘方法上,我再次返回相同的部分视图,以绑定ajax调用中的数据。下面的代码是用部分视图编写的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $(document).ready(function () {

        $('#surveyPreviewModal').on('show.bs.modal', function (e) {

            surveyID = $(e.relatedTarget).attr('data-surveyID');

            SurveyPreview(@SurveyPageTypePageNumber.StartPage,null);

        });

    })

在控制器中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public ActionResult SurveyPreview(int SurveyID, int page)
{
   ------ some code ------
    return PartialView("_SurveyPreview",viewModel);
}

对此有任何帮助,非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-17 06:57:45

使用@Html.Partial("_surveyPreview")加载部分视图时,需要传递未提供的LMS_TraineeSurveyPaginationViewModel

因此,要调用部分视图,您需要编写以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Html.Partial("_surveyPreview",new LMS_TraineeSurveyPaginationViewModel());
票数 1
EN

Stack Overflow用户

发布于 2017-02-17 07:08:36

部分视图需要一个类型为LMS_TraineeSurveyPaginationViewModel的模型。但是,在从主视图呈现部分视图时,不传递任何模型对象。

在partialview中,function SurveyPreview()使用模型的属性。由于您没有从主视图中传递任何模型对象,因此model在部分视图中将为null。这就是你看到NullReferenceException的原因。

因此,您需要确保部分视图得到模型。

您需要采取不同的方法来呈现部分视图。您可以使用Html.Action调用Action方法,该方法将返回部分视图并在主视图中呈现。

替换主视图中的以下行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Html.Partial("_surveyPreview")

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Html.Action("SurveyPreview", new { SurveyID = "<<somesoveryId>>", page = "<<somepage>>"})

这样,我将用提供的参数调用控制器的SurveyPreview操作,它将返回带有模型的部分视图,并将其呈现出来。

我不确定要在SurveyIDpage参数中传递哪些值,所以我在那里放置了占位符。你需要把适当的值放在那里。

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

https://stackoverflow.com/questions/42298698

复制
相关文章
如何检查 MySQL 中的列是否为空或 Null?
在MySQL数据库中,我们经常需要检查某个列是否为空或Null。空值表示该列没有被赋值,而Null表示该列的值是未知的或不存在的。在本文中,我们将讨论如何在MySQL中检查列是否为空或Null,并探讨不同的方法和案例。
网络技术联盟站
2023/07/14
1.4K0
如何检查 MySQL 中的列是否为空或 Null?
如何检查 MySQL 中的列是否为空或 Null?
在MySQL数据库中,我们经常需要检查某个列是否为空或Null。空值表示该列没有被赋值,而Null表示该列的值是未知的或不存在的。在本文中,我们将讨论如何在MySQL中检查列是否为空或Null,并探讨不同的方法和案例。
网络技术联盟站
2023/08/03
3.3K0
如何检查 MySQL 中的列是否为空或 Null?
如何检查一个对象是否为空
检查一个数组为空很容易,直接调用 length 方法即可,那么如何检查一个对象是否为空呢 ❓
JS菌
2019/04/10
4K0
如何检查一个对象是否为空
shell中判断变量是否为空
1.变量通过“ ”引号引起来 如下所示,可以得到结果为 is null #!/bin/bash para1= if[! -n "$para1"] then echo "is null" else echo "not null" fi 2.直接通过变量判断: 如下所示,得到的记过为: is null #!/bin/bash para1= if[!${para1}];then echo "is null" else echo "not null" f
休辞醉倒
2019/07/25
9.8K0
python判断是否为空_python 判断对象是否为空
在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:if a is None:
全栈程序员站长
2022/07/01
10.5K0
js中判断对象是否为空
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130704.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/01
11.5K0
jq 判断是否为空,为空隐藏指定 div
<style>.mydiv{ width:300px; height:300px; background:red;}</style> <div class="mydiv">     <div class="content">          这是一句话,删除的话会让 mydiv display:none;          </div> </div> <script src="https://lib.baomitu.com/jquery/3.4.1/jquery.min.js"></script> <sc
Savalone
2020/02/11
7.1K0
java怎么判断对象为空_java中怎么判断对象是否为空
一种是org.apache.commons.lang3包下的;另一种是org.springframework.util包下的。
全栈程序员站长
2022/06/28
6.8K0
java怎么判断对象为空_java中怎么判断对象是否为空
java 对象为空判断_java中判断对象是否为空的方法
首先,直接使用 object == null 去判断,对象为null的时候返回true,不为null的时候返回false。然后,在object != null 为true的情况下,进一步去判断对象的所有属性是否为null。
全栈程序员站长
2022/08/15
11.5K0
java 对象为空判断_java中判断对象是否为空的方法
PHP 检测变量是否为空
注意:字符串"0.0"、字符串"00"、包括一个空格字符的字符串" "、字符串"false" 、整型 -1 都不为 false:
德顺
2019/11/13
7.2K0
js判断input是否为空
在进行注册时经常会遇到需要判断用户是否在文本框内输入了数据,那么就需要判断一下,一开始我感觉这是一个非常简单的问题。我的思路是获取input元素,判断他的元素是否为null不就行啦。但是结果出乎了我的意料之外,这个条件跟没设一样。于是我有换了一个方法,是这样的:document.getElementById().value=="";结果真的可行了。下面我来贴出一个示例代码:
OECOM
2020/07/01
21.7K0
js -- 判断数组是否为空?
上面三种判断数组为空的方法虽然大多数情况下都可以用,但依然存在bug,比如令arr[-1] = ''时,数组不为空,但三者都返回true。
小蔚
2020/09/07
20.5K0
js判断map是否为空
补记:后台传递过来的是map集合,dataType返回值类型应该是json类型,此时,可以直接使用:JSON.parse(data);这样得到的结果是object类型,然后我们直接判断它的长度即可。
全栈程序员站长
2022/09/07
15.2K0
vue判断map是否为空
for in 循环判断 var obj = {}; var b = function() { for(var key in obj) { return false; } return true; } alert(b());//true
全栈程序员站长
2022/09/07
4.2K0
Java判断List是否为空
在Java中,我们常用List来存储数据,但是我们怎么判断它是否成功带来了我们需要的数据呢,以ArrayList为例,
全栈程序员站长
2022/11/01
3.7K0
java判断一个对象是否为空_java判断对象是否为空
对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。
全栈程序员站长
2022/06/30
5.9K0
java判断一个对象是否为空_java判断对象是否为空
vue 对象判断为空_Vue中可用的判断对象是否为空的方法
vue有两个方法可用 1. JSON.stringify(evtValue)=='{}’ 2. Object.keys(xxx).length==0 js判断对象是否为空对象的几种方法 1.将json对象转化为json字符串,再判断该字符串是否为”{}” var data = {}; var b = (JSON.stringify(data) == “{}”); alert(b);//true 2.for in 循环判断 var obj = {}; var b =…
全栈程序员站长
2022/08/12
6.2K0
JS中,如何检查对象是否为数组?
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/02/02
7.2K0
JS中,如何检查对象是否为数组?
使用“空”对象替代引用是否为空判断
使用Null对象替代引用是否为空判断 编程语言中最常见运行时异常非NullPointerException莫属,只要程序依赖于外部的输入数据,比如说http请求传递的查询字符串参数、关系数据库连接、磁盘文件读取,空引用异常就无法避免。通常,程序需要满足某些条件才能正常的往下执行,假如这些条件依赖外部输入数据,而这些外部输入的数据肯定无法保证百分百不出错,比如说网络连接失败、数据库用户名密码错误等,当程序被这些节外生枝的障碍打断时,空引用异常就极有可能被引发。 比如说,原本我们调用一个方法,这个方法会执行连接
用户1608022
2018/04/11
7.6K0
点击加载更多

相似问题

使用Jquery检查MVC模型属性是否为空

31

MVC3剃刀:如何检查模型是否为空

72

模型在MVC中为空。

21

Rails检查模型是否为空

45

检查模型是否为空失败

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文