MVC 4 인터넷 응용 프로그램을 개발 중이며 객체를 생성 한 후 문제가 있습니다. 내가 배치하면MVC 4 컨트롤러에서 null id 값
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Index(Int32)' in 'BookApplication.Controllers.CommentController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters
: 여기
public ActionResult Index(int id)
{
var commentsBookViewModel = new CommentsViewModel();
commentsBookViewModel.bookId = id;
commentsBookViewModel.isUserLoggedIn = us.IsUserLoggedIn();
commentsBookViewModel.loggedInUserName = us.GetCurrentlyLoggedInUserName();
commentsBookViewModel.comments = db.books.Where(b => b.id == id).FirstOrDefault().comments.ToList();
return View(commentsBookViewModel);
}
오류입니다 :
여기
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(int id, Comment comment)
{
if (ModelState.IsValid)
{
Book book = db.books.Where(b => b.id == id).First();
comment.username = us.GetCurrentlyLoggedInUserName();
book.comments.Add(comment);
db.SaveChanges();
return RedirectToAction("Index", id);
}
return View(comment);
}
는 인덱스 ActionResult입니다 : 여기
는 오류가 일어나고 코드입니다 줄 바꿈 점 :return RedirectToAction("Index", id);
변수 id
은 값을 가지며 null이 아니지만 여전히 오류가 발생합니다.
이 문제에 대해 도움을받을 수 있습니까?
미리 감사드립니다.
'new {id = id}'는 컴파일러가 전달 된 변수의 프로퍼티 이름을 추론 할 때'new {id} '로 줄일 수 있습니다. 많은 사람들이 혼란을 피하기 위해 명시 적으로 속성 이름을 지정하기 때문에 실제로는 코딩 스타일입니다. –