模型未从控制器传递到视图

时间:2019-07-16 09:01:02

标签: asp.net-mvc

将模型从控制器传递到视图时遇到问题。我在视图内部收到一个错误,说该模型为空。谁能看到我做错了什么,我应该怎么做才能使模型正确传递给视图?

这是控制器中方法的一部分:

var msg2 = new ErrorViewModel { Message = "Could not find the report", Test = "1" };
return View("~/Shared/Error.cshtml", msg2);

这是视图的一部分:

@model QbimEmbeddedV2.Models.ViewModels.ErrorViewModel

@{
    Layout = null;
}
<body>

    @Model.Message
    @Model.Test

    <hgroup class="p-25">
        <h1>Error.</h1>
        @if (string.IsNullOrEmpty(Model?.Message))
        {
            <h2>An error occurred while processing your request.</h2>

        }
        else
        {
            <h2>@Model.Message</h2>
        }
        <h2><a href="/">Home</a></h2>
    </hgroup>

</body>

我在@ Model.Message行上收到错误

我希望@ Model.Message正确显示

我收到的错误消息是: System.NullReferenceException:'对象引用未设置为对象的实例。'

1 个答案:

答案 0 :(得分:0)

运行以下代码的输出是:Output of the Code

控制器。

var Model = new ErrorViewModel { Message = "Error Occured for the 
Controller",Test="1"};
return View("~/Views/Shared/Error.cshtml",Model);

查看

@{
     ViewBag.Title = "Error";
 }

<h2>Error</h2>

@Model.Message
@Model.Test


@if(string.IsNullOrEmpty(Model?.Message))
{
    <h1>Error was Occured</h1>
} 
else
{
    <h1>@Model.Message</h1>
}

我希望本《准则》对您有所帮助。