Asp.net mvc 为什么@Model为空?

Asp.net mvc 为什么@Model为空?,asp.net-mvc,model,null,Asp.net Mvc,Model,Null,视图:Registration.cshtml @model MyNameSpace.Models.NewPatientRegistrationViewModel <div> ... All the HTML </div> 控制器:AccountControllers.cs public ActionResult Registration() { return View(); } 在视图中,对@Model的引用出现null,并

视图:Registration.cshtml

 @model MyNameSpace.Models.NewPatientRegistrationViewModel
 <div> ... All the HTML </div>
控制器:AccountControllers.cs

    public ActionResult Registration()
    {
        return View();
    }

在视图中,对@Model的引用出现null,并抛出null异常错误。对MVC来说还是新的。。。我确信我遗漏了一些明显的东西。

更改控制器操作以将视图模型返回到视图

public ActionResult Registration()
{
    var model = new RegistrationViewModel();
    return View(model);
}

如果视图需要实例化视图模型上的其他属性才能进行渲染,则可以在将其传回之前实例化视图模型上的其他属性

A.可以从get方法传递null。批准的答案指出了这一点

B.您可能有一个字段,该字段的名称与您在post上绑定模型的参数的名称相同

public ActionResult Add(ContentImage image)
{
    if (ModelState.IsValid)
    {
        UploadImage(Request.Files["Image"]);

        //Some other actions
    }

    return View("Edit", image);
}
在我看来,我有:

@Html.TextBox("Image", string.Empty, new { type = "file" })

您没有将viewmodel对象传递给ActionResult中的View()调用。好的。。。帮助一个新手。这不是返回视图()的内容吗;做我缺少什么?return View()接受要传递的模型,因此创建一个新的RegistrationViewModel并将其传递给您的视图您需要将viewmodel对象传递给View()调用:
return View(yourViewModelObject)当然,实际上有一个您想要传递到视图中以供消费/填充的对象。谢谢!我会尽快记下答案。
@Html.TextBox("Image", string.Empty, new { type = "file" })