コンテンツの先頭のスペースを自動的にトリミングするテキスト ボックス Web コントロールがあるため、テキストを取得すると、ユーザーが最初に書いたものとは異なります (ユーザーが先頭のスペースを入力した場合)。
この機能を無効にする方法はありますか
コンテンツの先頭のスペースを自動的にトリミングするテキスト ボックス Web コントロールがあるため、テキストを取得すると、ユーザーが最初に書いたものとは異なります (ユーザーが先頭のスペースを入力した場合)。
この機能を無効にする方法はありますか
デフォルトの動作をオーバーライドする唯一の解決策は、ユーザーが非表示フィールドに入力するたびに割り当てるjavascript関数を作成し、ボタンまたはポストバックイベントでその非表示フィールドの値をキャプチャすることです
<asp:TextBox runat="server" ID="TextBox1" onkeydown="document.getElementById('HiddenField1').value += this.value" ></asp:TextBox>
よろしく
実は、これには別の回避策があるかもしれません。U+0020
ASP.NET は( の Unicode コード ポイント)を置き換えることを目指してspace
いますが、たとえばU+00A0
-などの他の空白文字についてはそうしませんno-break space
。
ASP.NETページで保持する必要があるスペース文字の繰り返しに問題がありましたRadTextBox
(空白を保持することになると、通常のASPのように動作TextBox
します。つまり、1つの繰り返しスペースを除くすべてが失われます)。
したがって、次のようにテキストを設定すると:
txtName.Text = name.Replace(' ', '\u00A0');
次のようにテキストボックスからテキストを取得します。
name = txtName.Text.Replace('\u00A0', ' ');
ユーザーにとっては、テキストボックス内にスペースがあるように見え、ASP.NET はこれらのスペースのような文字を削除しません。
回答は次の回答に触発されました: の代わりに使用できる最適な非表示文字は何ですか?
空白を
htmlに置き換える必要があります。
例えば
Dim TextWithSpaces As String = OriginalText.Replace(" ", " ")
TextBox.Text = TextWithSpaces