EDIT: initial answer removed (not enough info in the question):
Since you need to access your custom attribute, I suggest the following:
A: if you're just saving some values using your custom attribute, use the AdditionalMetadataAttribute
:
Model:
[Additional("myAdditionalInfoField", "myAdditionalInfoValue")]
public int IntProperty { get; set; }
View:
@{
string valueFromAttribute = ViewData.ModelMetadata.Additional["myAdditionalInfoField"].ToString();
}
B: if you're doing more complex work inside your custom attribute, get the current metadata property for your model and save the computed values inside the ViewData.ModelMetadata.Additional
dictionary. Please note that this requires that you implement your custom metadata provider.
A detailed implementation can be found here.