コード ビハインドで ASP.Net ページにいくつかの TextBox コントロールを作成していますが、結果のコントロールの後に誤ったスペースが表示されていることがわかりました。ASP.Net は次のようになります。
<asp:Table runat="server" id="ControlsTable" BackColor="Orange"></asp:Table>
(結果をより明確に表示するために、色を派手なものに設定しました。) それらを作成するコードは次のとおりです。
TableRow table_row = new TableRow();
TableCell table_cell = new TableCell();
Label new_label = new Label();
new_label.Text = //Some text
table_cell.Controls.Add(new_label);
table_row.Controls.Add(table_cell);
table_cell = new TableCell();
TextBox text_box = new TextBox();
text_box.ID = //Give it an ID
text_box.CssClass = "textInput";
text_box.MaxLength = 10;
text_box.Attributes.Add("onkeyup", "validate_everything()");
text_box.Attributes.Add("autocomplete", "off");
text_box.BackColor = OK_COLOUR;
table_cell.Controls.Add(text_box);
table_row.Controls.Add(table_cell);
ControlsTable.Controls.Add(table_row);
何度も繰り返しました。このテキスト コントロールの CSS クラスは次のようになります。
.textInput
{
font-family:Times New Roman;
font-size:medium;
max-width:100px;
}
結果の表示は、テキスト ボックスの右側に約 0.5 インチの新鮮な空気が追加されていることを示しています。
作成された HTML は次のようになります。
<table id="ControlsTable" style="background-color:Orange;">
<tr><td>
<span>AlSol</span>
</td><td>
<input name="Text_AlSol"
type="text"
value="0"
maxlength="10"
id="Created_ID"
class="textInput"
onkeyup="validate_everything()"
autocomplete="off"
style="background-color:White;" />
</td></tr>
これを引き起こしている原因と、それに対して何ができるかを誰かが知っていますか? CSS でテキスト ボックスの幅をいじると、テキスト ボックスを拡大したり縮小したりできますが、オレンジ色のビットの幅は同じままです (テキスト ボックスをこれより広くすることはできません)。
編集これは、Windows XP で実行されている Internet Explorer 8 を使用しています。