2011-02-01 4 views
0

У меня есть этот текст-бокс на странице:Авторазмер Html.TextBoxFor

<%= Html.TextBoxFor(m => m.STPData.ProjectName, new { @class = "economicTextBox", disabled="disabled", propertyName = "STPData.ProjectName", onchange = "UpdateField(this);" })%> 

Как я могу сделать это так, каждый раз, когда он делает это подходит к тексту поступил?

ответ

0

Если вы не используете какой-то моноширинный шрифт, такой как новый, но вы не можете предсказать, сколько пикселей оно займет. Но вы всегда можете оценить, 10 пикселей на символ или аналогичный. Затем у некоторых пользователей есть большие шрифты, которые вы не можете обнаружить, и все выглядит неправильно ... Я предлагаю вам переосмыслить эту функцию, с точки зрения UX или технических проблем!

Может быть что-то вроде этого, с вспомогательным методом, который умножает длину строки со средним пикселей на 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);" })%> 
+0

На самом деле, я бы просто изменить его, чтобы быть ярлык вместо этого? – slandau

+0

Этикетка? Вам нужно изменить текст? Сообщение о форме? Кроме того, в MVC нет управления меткой, вы пишете текст внутри Span или Div –

Смежные вопросы