我試圖保存對基本CRUD的更改。我在我的模型中編輯了3列的視圖(表格有7列)。未保存到後編輯操作
我試過在不同的帖子中引用的attach方法,這個方法沒有工作。任何想法將不勝感激。
模型
public class AssetRequest
{
public int Id { get; set; }
[DataType(DataType.Date)]
[Display(Name = "Request date")]
public DateTime AssetRequestDate { get; set; }
[Display(Name = "Facility")]
public int FacilityId { get; set; }
[Required]
[Display(Name = "Asset requested")]
public int AssetId { get; set; }
[Display(Name ="Serial no.")]
public string AssetSN { get; set; }
[Required]
[Display(Name = "Request type")]
public int RequestTypeId { get; set; }
[Required]
[DataType(DataType.Date)]
[Display(Name = "Job date")]
public DateTime JobRequestDate { get; set; }
[Required]
[Display(Name = "Request status")]
public int RequestStatusId { get; set; }
[Display(Name = "Tracking no.")]
public string TrackingNo { get; set; }
[Display(Name = "Comments")]
public string Comments { get; set; }
[Display(Name = "Sending facility")]
public string SendingFacilityt { get; set; }
public virtual Asset Asset { get; set; }
public virtual Facility Facility { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual RequestType RequestType { get; set; }
public virtual RequestStatus RequestStatus { get; set; }
}
}
控制器
public async Task<ActionResult> Edit([Bind(Include = "RequestStatusId, TrackingNo, Comments")] AssetRequest assetRequest)
{
if (ModelState.IsValid)
{
//db.AssetRequestTable.Attach(assetRequest);
db.Entry(assetRequest).State = EntityState.Modified;
await db.SaveChangesAsync();
return RedirectToAction("All");
}
}
查看
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>AssetRequest</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.Id)
<div class="form-group">
@Html.LabelFor(model => model.DistrictId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("DistrictId", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.DistrictId, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.AssetId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("AssetId", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.AssetId, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.RequestStatusId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("RequestStatusId", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.RequestStatusId, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TrackingNo, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TrackingNo, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.TrackingNo, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Comments, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Comments, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Comments, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "All")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
我們需要查看'AssetRequest'的定義,包括實體框架的任何屬性和/或模型構建器代碼。我們還需要從'db.SaveChangesAsync()'返回的值' –
您可以從.saveChangeAsync方法添加代碼嗎? –
@AidaIsay ['SaveChangesAsync()'](https://msdn.microsoft.com/en-us/library/dn220070(v = vs.113).aspx)是一個框架方法,沒有* code * for它。 –