我有3个模型: 第一之一:未将对象引用设置为对象的实例。
public class CreateFieldModel
{
public FieldModel fm { get; set; }
public CategoryModel cm { get; set; }
}
第二之一:
public class FieldModel
{
public string field_Name { get; set; }
public InputTypeModel itm { get; set; }
public string input1 { get; set; }
public string input2 { get; set; }
public string input3 { get; set; }
public string input4 { get; set; }
public List<InputTypeModel> inputs { get; set; }
}
第三一:
public class InputTypeModel
{
public string inputTypeName { get; set; }
public string inputTypeDesc { get; set; }
}
2种方法:
第一一:
public List<InputTypeModel> getInputTypes()
{
var inptypes = edu.InputTypes;
List<InputTypeModel> listInputTypes = new List<InputTypeModel>();
foreach (var inpType in inptypes)
{
listInputTypes.Add(new InputTypeModel { inputTypeName = inpType.Input_Type_Name, inputTypeDesc = inpType.Input_Type_Description });
}
return listInputTypes;
}
当这个方法执行时,listInputTypes有三个不同的值..我通过调试来检查它..所以这里没有任何可能。这methos是类FormManagement下..我打电话从下面的操作方法,这个方法:
[HttpGet]
public ActionResult createNewField(CreateFieldModel cfm, string fcode)
{
FormManagement ffm = new FormManagement();
cfm.fm.inputs = ffm.getInputTypes();
return View(cfm);
}
时cfm.fm.inputs = ffm.getInputTypes();
执行它显示“未将对象引用设置到对象的实例。”消息...我很初学mvc ..请帮助
当你调用createNewField时,你的cfm很可能是null。使用调试器。在这一行上设置一个断点。查看您的调用堆栈并检查调用函数是否为cfm提供了正确的值。 – 2013-05-11 08:45:31
是的,它是空的...我怎么解决它? – jubair 2013-05-11 08:54:10
那么你为什么*期望*它是非空的? – 2013-05-11 09:01:13