가정하자 나는이 다음ASP.NET MVC는 : 세부 사항보기에서 빈 필드를 제거
이작업 : 이것은 내이다
public ActionResult Details(int id)
{
Person person = personRepository.GetPerson(id);
return View(person)
}
가 :
Name: <%= Html.Encode(Model.Name) %><br />
Age: <%= Html.Encode(Model.Age) %><br />
Birth Date: <%= Html.Encode(Model.Birthday) %><br />
Country: <%= Html.Encode(Model.Country) %><br />
Weight: <%= Html.Encode(Model.Weight) %><br />
Height: <%= Html.Encode(Model.Height) %><br />
Phone: <%= Html.Encode(Model.PhoneNumber) %>
내 문제
그 나라 , 가중치 W 높이가 널 (NULL) 입력 가능합니다. 나는이foreach (var field in Model)
if (var field != null)
{
field.name + ": " + field.value
}
같은 것을 할 수있는 방법은 다음과 같이 그것을 할 수 있습니다하지만 난 더 나은 방법이 확신 :
if (Model.Name != null){
<%= Html.Encode(Model.Name)%>
}
미리
내 솔루션을 이 문제는 내 데이터베이스의 nullable 필드가 null이 아니고 대신 빈 문자열을 포함하도록 보장하는 것이 었습니다. 나는 이것이 모든 종류의 규칙을 어기는 것을 확신한다. 희망을 갖고 여기에서 좋은 대답을 얻을 수 있습니다. – Pete
엔티티가 변경되지 않도록 Nullable 국가, 무게 및보기 모델의 높이를 지정합니다. 또한 Html.EditorFor 및 Html.LabelFor 도우미 메서드 사용을 고려할 것입니다. –
WorldIsRound
@WorldsIsRound 덕분에 도우미 메서드와 함께 간계를 할 것 같다 –