Γεια χαρά,
στο παράδειγμα το Application είναι ένα αντικείμενο του Business/Data Access Layer το οποίο εμφανίζεται στο View αφού μεταφέρεται ως εχει και δεν επιθυμείται τίποτα παραπάνω. Ένας τρόπος να αντιμετωπίσεις το ζήτημα που αναφέρεις είναι να φτιάξεις στο MVC project (συνήθως μέσα στον φάκελο Models για καλύτερη οργάνωση) ένα αντικείμενο με όνομα πχ ApplicationViewModel το οποίο θα περιέχει τα properties που επιθυμείς να διαχειριστείς, αυτό θα περνάς στο View και αυτό θα απεικονίζεις κατόπιν στο Application αντικείμενο που θα σώσεις στη βάση σου στο Post.
Υπάρχουν ωστόσο περιπτώσεις που όντως επιθυμεί κάποιος να αποκλείσει από το model binding κάποια properties του αντικειμένου. Ο πρώτος τρόπος είναι να βάλεις στο αντικείμενό σου είτε στην παράμετρο του Action ή στη δήλωση της κλάσης του Exclude/Include attributes. Στο παράδειγμα που αναφέρεις όμως νομίζω ότι η πιο βολική λύση είναι η παρακάτω:
Έχεις το αντικείμενο Client:
public class Client
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Στο action για το POST:
public ActionResult Post()
{
Client client=new Client();
client.FirstName="John";
UpdateModel(client, "", null,new string[] {"FirstName"});
return RedirectToAction("Index");
}
Στο view είχε περάσει ένα Client object προς επεξεργασία. Το model binding γίνεται από την UpdateModel και όχι αυτόματα όπου ζητάμε στην 4η παράμετρο να εξαιρεθεί το property FirstName. Επίσης το αντικείμενο το φτιάξαμε εμείς και όχι ο Model binder. Θα μπορούσες να φέρεις από το Repository σου το Application και κατόπιν να καλέσεις την UpdateModel including/excluding μόνο τα properties που επιθυμείς.