When using UpdateModel , if it has any problems when binding properties, it will throw an exception, saying that there was a binding error.
While TryUpdateModel does not TryUpdateModel an exception if there are any binding errors, instead, it logs an error in the model state dictionary, which you can check using the ModelState.IsValid property.
Well explained here - http://codetunnel.io/aspnet-mvc-tryupdatemodel-vs-updatemodel/
source share