自动调整大小Html.TextBoxFor

时间:2011-02-01 19:44:23

标签: c# .net asp.net-mvc-2 html-helper

我在页面上有这个文本框:

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

如果每次渲染它都符合输入的文本,我怎么能这样做?

1 个答案:

答案 0 :(得分: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);" })%>