我正在从事这个ASP.NET MVC
项目的工作,我在其中执行简单的CRUD
操作。单击Edit
按钮后,我想从数据库中获取数据并填充到Create
视图中(在我帮助输入数据的同一视图中)。
我遇到的问题是,尽管我可以使用Create.cshtml
视图将数据输入数据库,但无法将数据重新填充到同一{{1} },然后点击View
。检查后,我发现可以从Edit
从数据库中获取数据,并将其发送到Controller
。但是,这些字段未填充到View - Create
中。
我要去哪里错了?
查看-Create.cshtml
View
控制器-BooksController.cs
<form method="post" action="/Books/Create" id="formBooks">
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-6">
<div>
<label asp-for="Title" class="label">Title</label>
<input asp-for="Title" class="form-control" id="title" name="title" required />
<span asp-validation-for="Title" class="text-danger"></span>
</div>
<div>
<label asp-for="Author" class="label">Author</label>
<input asp-for="Author" class="form-control" id="author" name="author" required />
<span asp-validation-for="Author" class="text-danger"></span>
</div>
...
</div>
<div class="form-group col-md-6">
<button type="submit" value="Save" class="btn bgm-orange waves-effect mybtn">SAVE</button>
</div>
</div>
</div>
</form>
答案 0 :(得分:0)
public ActionResult Create(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Books books= db.Books.Find(id);
if (books== null)
{
return HttpNotFound();
}
return View(books);
}
//尝试这个,我希望它能起作用
答案 1 :(得分:0)
name
属性在将数据绑定到<input></input>
字段中起着至关重要的作用。同样,value
属性获取要显示在Edit
视图中的值。
<input asp-for="Title" class="form-control" id="title" name="title" placeholder="Enter title..." value="@(Model != null ? Model.Title : "")" required />