After more research I found out that it was caused by a javascript function which variables were initialized using the <%:
, and this function was used to initialize the text boxes. So in the end it had nothing to do with child properties. I changed the <%:
with <%=
in the javascript part:
var lastName = "<%: Model.Name.LastName %>";
in
var lastName = "<%= Model.Name.LastName %>";