2011-02-01 8 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がかかるか予測できません。しかし、あなたはいつでも、1文字あたり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

+0

ラベル?テキストを変更する必要がありますか?フォーム投稿をしますか?また、MVCにはラベルコントロールがありません。あなたはSpanまたはDivの内部にテキストを書きます –