MVC返回视图(模型)无法对空引用执行运行时绑定

时间:2014-06-30 16:22:20

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

这对我来说真的不清楚。
代码看起来像这样

 public ActionResult ViewDevice(string id)
 {
    FooObject model = new FooObject();

    if (id == null)
       return View(model);

    model = SomeMethodThatReturnsFooObject(id);

    return View(model);
 }

在我看来,我检查Model是否为null,所以我假设这样可行。

当ID不为null时,我得到FooObject.Fill填充的模型变量,它在View上显示得很好。

当ID为null时......控制器在运行时获取此错误:
"无法对空引用执行运行时绑定"。

任何原因???

2 个答案:

答案 0 :(得分:0)

你不需要返回空模型对象就像这样:

public ActionResult ViewDevice(string id)
 {

    if (id == null)
       return View();


    FooObject model = SomeMethodThatReturnsFooObject(id);

    return View(model);
 }

答案 1 :(得分:0)

U can use this,

public ActionResult ViewDevice(string ?id)
 {
long _id = id ?? 0;

if(_id > 0)
{
FooObject model = SomeMethodThatReturnsFooObject(id);

return View(model);
}
return view();
}