[c#]视图中不能找到该模型

发布时间: 2017/2/25 3:48:16
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一种模型

 class Person {
    public int id {get;set;}
    public String name {get;set;}
}

并在视图中

 @model IEnumerable<Project.Models.Person>
    @foreach (var p in Model){
    @Html.TextBox(p.name)
    }

但当我尝试运行该应用程序时我得到

System.NullReferenceException

在行上

`@Html.TextBox(p.name)`

该控制器

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

任何的想法。我试图将视图发送一个人列表,以便我可以生成多个行项。

解决方法 1:

如果你想要显示多个记录窗体,你认为应该是这样。

@model Project.Models.Person

@using(Html.BeginForm())
{
    @Html.AntiForgeryToken()
    <div id="formData">
        <button type="button" id="Add" onclick="Add();">Add</button>
    </div>
    <button type="submit">Submit</button>
}
<script>
    function Add(){
        document.getElementById("Add").innerHtml += "@Html.EditorFor(m => m.name)";
    }
</script>

然后你可以实现 post 方法。

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

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Add(IEnumerable<Person> list)
{
    return View();
}
赞助商