2011-02-01 39 views
0

我有这个文本框的页面上:自动调整Html.TextBoxFor

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

我怎样才能让这个所以每次呈现时它适合于输入的文本?

回答

0

除非您使用像currier new这样的一些等宽字体,否则无法预测需要多少px。但是你总是可以估计,每个字符或类似的10个像素。然后,某些用户拥有无法检测到的大字体,并且一切看起来都不正确......我建议您从UX角度或技术挑战中重新思考此功能!

也许这样的事情,与辅助方法乘以每个字符的平均像素字符串长度(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 2011-02-01 20:14:28