Controller.TryUpdateModel<TModel> Method (TModel, String, IDictionary<String, ValueProviderResult>)

Updates the specified model instance using values from the value provider and a prefix.

Namespace:  System.Web.Mvc
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)

protected internal bool TryUpdateModel<TModel>(
	TModel model,
	string prefix,
	IDictionary<string, ValueProviderResult> valueProvider
where TModel : class

Type Parameters


The type of the model object.


Type: TModel
The model instance to update.
Type: System.String
The prefix to use when looking up values in the value provider
Type: System.Collections.Generic.IDictionary<String, ValueProviderResult>
A dictionary of values used to update the model.

Return Value

Type: System.Boolean
true if the update is successful; otherwise, false.


The model parameter or the valueProvider parameter is null.

You do not have to explicitly specify the generic parameter TModel. Instead, you can let the C# or Visual Basic type inference engine determine the generic parameter TModel by omitting the generic parameter. The TryUpdateModel() method is like the UpdateModel() method except that the TryUpdateModel() method does not throw an InvalidOperationException exception when the updated model state is not valid.

Security noteSecurity Note

Use one of the TryUpdateModel() methods that take either a list of included properties (a white list) or a list of excluded properties (a black list). If no explicit white list or black list is passed, the TryUpdateModel() method tries to update every public property of your model for which there is a corresponding value in the request. A malicious user could exploit this in order to update properties that you do not intend to provide access to.

Community Additions