为什么ActionResult 方法在视图中不采用 Html.BeginForm() 中的任何参数?



我试图创建一个名为PersonalJobManagement的数据库,其中包括我的员工信息。我想编写一个ASP.NET MVC网站来编辑、删除或创建此数据库的新数据。

但问题是:我编写创建视图,输入名称或id等参数,但参数不会被处理到数据库中。已经增加了8名员工,我无法添加第9名。

我在控制器中的创建方法:

public ActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Person model)
{
db.Person.Add(model);
db.SaveChanges();
return RedirectToAction("List");
}

我的创建视图:

@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div>
<div>
<b>Name</b>
<div>
@Html.EditorFor(model => model.FirstName, new { htmlAttributes = new {} })
@Html.ValidationMessageFor(model => model.FirstName, "", new {})
</div>
</div>
<div>
<div>
<input type="submit" value="Save it"/>
</div>
</div>
</div>
}

我的个人模型:

public partial class Person
{
public int BusinessEntityID { get; set; }
public string PersonType { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public System.DateTime ModifiedDate { get; set; }

public virtual BusinessEntity BusinessEntity { get; set; }
}

钉住了IT!我的~/Views/Shared/_Layout.cshtml文件有一个表单标记,我不知道为什么,但它在调用POST方法时会导致错误。所以如果你在这里,小心伙计们

最新更新