À moins d'utiliser une police à espacement fixe comme un nouveau correcteur, vous ne pouvez pas prédire combien de px il faudra. Mais vous pouvez toujours estimer, 10 pixels par caractère ou similaire. Ensuite, certains utilisateurs ont de grandes polices que vous ne pouvez pas détecter, et tout semble mal ... Je vous suggère de repenser cette fonctionnalité, de la perspective UX ou des défis technologiques!
Peut-être quelque chose comme ça, avec la méthode d'aide qui multiplie la longueur de chaîne avec des pixels moyenne par char (10?):
<%= Html.TextBoxFor(m => m.STPData.ProjectName,
new { @class = "economicTextBox",
style="width:"+Helper.PixelsForString(m.STPData.ProjectName,10)+"px;",
disabled="disabled",
propertyName = "STPData.ProjectName",
onchange = "UpdateField(this);" })%>
En fait, ce que je changerais juste que ce soit une étiquette à la place? – slandau
Étiquette? Avez-vous besoin de changer de texte? Est-ce que le poste forme? De plus, il n'y a pas de contrôle d'étiquette dans MVC, vous écrivez du texte dans Span ou Div –