Я не думаю, что есть способ сделать это прямо из коробки.
Что вы могли бы сделать, так это создать общий класс «модель-значение», который инкапсулировал бы эту информацию в нем, таким образом, сохраняя ваше строго типизированное представление. а именно:
ModelValue<string> postalCode = new ModelValue<string>("poscode value", "Please enter your postal code.")
Затем можно создать классы модели, чтобы они содержали свойства типа ModelValue.
Ваш код выше будет выглядеть примерно так:
<%= Html.TextBox("PostalCode", Model.PostalCode.Value, new { watermark = "Postal Code", title = Model.PostalCode.Title })%>
Недостатком этого является то, что я не думаю, что mvc выполнит автоматическое связывание для вас, поэтому вам придется выполнять все отображения в представлении самостоятельно, как в этом примере, но также и в Post, который вы будете делать должны сделать ручную привязку, если вы еще этого не сделали.
Вы, вероятно, также создадите все свои свойства ModelValue в конструкторе модели и извлечете все значения заголовков из того места, где они хранятся, потому что вы не будете связывать их в Post (я думаю об ошибках проверки, приводящих к тому, что форма будет перерисована).
Если бы вы были очень заинтересованы, вы бы добавили атрибуты в свойства вашей модели, а затем каким-то образом проанализировали их при рендеринге страницы, но я понятия не имею, с чего начать, если вы хотите пойти по этому пути.