편집보기에 사용되는 ViewModel이 있습니다. 데이터가 반환되면 편집 할 항목의 ID가 편집 뷰에 표시되지 않습니다.ViewModel이 입력 필드를 채우지 않습니다.
public ActionResult Edit(int id)
{
Parcel parcel = _parcelDao.GetParcel(id);
ParcelEditViewModel viewModel = new ParcelEditViewModel();
viewModel.id = parcel.id;
return View(viewModel);
}
보기와 다른 것을 반환해야합니까?
뷰 모델 :
public class ParcelEditViewModel
{
public Parcel parcel { get; set; }
public int id { get; set; }
public IEnumerable<SelectListItem> TrackStatus { get; set; }
public ParcelEditViewModel()
{
parcel = new Parcel();
TrackStatus = new List<SelectListItem>
{
new SelectListItem
{
Value = "AwaitingCollection",
Text = "Awaiting Collection"
},
new SelectListItem
{
Value = "OutForDelivery",
Text = "Out For Delivery"
},
new SelectListItem
{
Value = "Delivered",
Text = "Delivered"
}
};
}
public int ParcelStatus { get; set; }
}
보기 :
//@model ABC.Data.Parcel
@model Abc.ViewModels.ParcelEditViewModel
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Parcel</legend>
@Html.HiddenFor(model => model.parcel.id)
<div class="editor-label">
@Html.LabelFor(model => model.parcel.Forename)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.Forename)
@Html.ValidationMessageFor(model => model.parcel.Forename)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.Surname)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.Surname)
@Html.ValidationMessageFor(model => model.parcel.Surname)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.CompanyName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.CompanyName)
@Html.ValidationMessageFor(model => model.parcel.CompanyName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.Address1)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.Address1)
@Html.ValidationMessageFor(model => model.parcel.Address1)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.Address2)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.Address2)
@Html.ValidationMessageFor(model => model.parcel.Address2)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.Address3)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.Address3)
@Html.ValidationMessageFor(model => model.parcel.Address3)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.Postcode)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.Postcode)
@Html.ValidationMessageFor(model => model.parcel.Postcode)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ParcelStatus)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.parcel.TrackingStatus, Model.TrackStatus)
@Html.ValidationMessageFor(model => model.ParcelStatus)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.TrackingNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.TrackingNumber)
@Html.ValidationMessageFor(model => model.parcel.TrackingNumber)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.parcel.CustomerId)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.parcel.CustomerId)
@Html.ValidationMessageFor(model => model.parcel.CustomerId)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
당신은 당신의보기 모델의 속성
모든를 채울 필요가
보기를 올리시겠습니까? –