0

在我的应用程序具有以下消息的一个实例: 对象引用不设置为一个对象的一个​​实例。对象引用不设置为一个对象

@Html.DropDownList("Title",ViewData["PersonTitle"] as SelectList, Model.Person.Title) 

下拉列表包含简单的字符串(人物标题)。当您选择一个标题时,该标题应该返回到我的模型。控制器代码:

ViewData["PersonTitle"] = new SelectList(new[] { "Dhr.", "Mevr." }); 

为什么这不起作用?

编辑:目的是改变

@Html.EditorFor(model => model.Person.Title) 

弄成这个样子

@Html.DropDownList("Title",ViewData["PersonTitle"] as SelectList, Model.Person.Title) 
+0

可能的复制[什么是一个NullReferenceException,以及如何解决?(http://stackoverflow.com/questions/4660142/what-is-a -nullreferenceexception和知识-DO-I-FIX-IT) – 2017-01-11 10:29:05

回答

3

Model.Person为空。你需要找出为什么这没有得到填充。最常见的原因是不会输出到表单中,因此它不会回传。

+0

确定,但我需要更换这部分 “@ Html.EditorFor(型号=> model.Person.Type)” 通过下拉列表。和下拉的价值应该被发送到同一个地方作为编辑器会做。 (Model.Person.Type) – Thomas 2011-03-29 09:03:20

+0

取代'“标题”'它需要'“Person.Title”' – Aliostad 2011-03-29 09:11:43

+0

“标题”下拉列表后?这只是dropdownlist的名称。为了避免误会,这是model.person.title和NOT model.Person.Type(不能改变我的评论了)。如果我使用editorfor(model => model.Person.Type),它会发送我写给模型的值 – Thomas 2011-03-29 09:23:41

0

我只好用@ html.dropdownlistfor

相关问题