'백엔드'의 일부 모델 값을 채우기 위해 사용할 디자인 패러다임은 무엇입니까? 예 : 나는 영화 DB를 가지고있다. 사용자가 영화를 만들 수 있습니다. 누가 영화를 만들 었는지, CreateOn, LastModified를 기록하고 싶습니다. 내 모델에는 UserId, CreatedOn, LastModified, ... (이름, 장르 등)이 있습니다. 생성 된 기본보기에는이 모든 필드가 있습니다. 나는 창조 한 전망에서 CreatedOn, LastModified, UserId를 제거했다; 이제 제어기에서 Create 기능으로 돌아 오면 모델이 유효하지 않습니다. Clear 함수를 통해 모델 오류를 제거한 다음 컨트롤러에서이 3 개의 값을 채웠습니다. 그러나 그렇다면 이것은 올바르지 않습니다. 지우기는 다른 유효성 검증 오류도 지 웁니다.컨트롤러의 MVC 값 입력
디자인 관점에서public ActionResult Create([Bind(Include = "Name,Description,Genre")] Movie movie)
{
ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId());
ModelState.Clear();
movie.UserId = user.Id;
movie.CreatedOn = DateTime.UtcNow;
movie.LastModified = DateTime.UtcNow;
if (ModelState.IsValid)
{
db.Movies.Add(movie);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(movie);
}
모델뿐만 아니라 얻을 수있는 오류를 표시 할 수 있습니까? 많은 일이있을 수 있습니다 : 필요한 필드를 놓치고'ModelState.IsValid' (속성 중 하나가 * 유효하지 않을 수 있습니다) 등을 확인하기 전에 속성을 매핑하십시오. –
가능한 복제본은 [무시할 수있는 방법이 있습니까? 일부 속성 (POCO) ASP.NET MVC3에서 폼을 확인할 때?] (http://stackoverflow.com/questions/5209252/is-there-any-way-to-ignore-some-properties-on-a -poco-when-validating-a-form-in) –
편집 할 때 항상 뷰 모델 사용 - [MVC의 ViewModel이란 무엇입니까?] (http://stackoverflow.com/questions/11064316/what-is-viewmodel-in- mvc) –