2
을 렌더링하는 데 실패 @Each, 나는이 핸들러는 다음과 추천했습니다 :슈퍼 간단한보기 엔진 : 책 만들기 게시 요청을 처리하기 위해
Post ["/edit"] = parameters => {
var book = this.Bind<Book>();
book.Id = new ObjectId(this.Request.Form["Id"]);
if(book.Id == null){
return Response.AsRedirect("/books");
}
var result = this.Validate(book);
if(result.IsValid){
bookRepository.Update(book);
return Response.AsRedirect("/books");
}else{
dynamic model = new DynamicDictionary();
model.Book = book;
var errors = new List<string>();
foreach(var key in result.Errors.Keys){
foreach(var value in result.Errors[key]){
errors.Add(string.Format("{0} - {1}", key, value));
}
}
model.ErrorMessages = errors;
return View ["book_edit.html", model];
}
};
그리고 book_edit.html :
<html>
<head>
<title>Edit book</title>
</head>
<body>
<h2>Edit book</h2>
<p>
<a href="/books">Book listing</a>
</p>
<h4>Validation Errors</h4>
@Partial['book_edit_error.html', Model.ErrorMessages];
<ul style="color:red">
@Each.ErrorMessages
<li>@Current</li>
@EndEach
</ul>
<form method="POST" action="/books/edit">
<table>
<tr>
<td>Name: </td>
<td>
<input type="text" name="Name" value="@Model.Book.Name"/>
<input type="hidden" name="Id" value="@Model.Book.Id"/>
</td>
</tr>
<tr>
<td>Author: </td>
<td><input type="text" name="Author" value="@Model.Book.Author"/></td>
</tr>
<tr>
<td>Description: </td>
<td><input type="text" name="Description" value="@Model.Book.Description"/></td>
</tr>
<tr>
<td><input type="submit" value="Save"/></td>
</tr>
</table>
</form>
</body>
을
그리고 @Each 문이 예상대로 작동했습니다.
여러 번 시도했지만, @Partial을 사용하려고했을 때에도 작동하지 않았습니다. 목록 모델 @Each 사용하는 경우
는하지만 (안 @ Each.Properties, 그것은했다.
이