0

ユーザーが入力中にテキストボックスに入力したコンテンツを .ToLower() に変換する必要があります...いくつかの例を見つけましたが、それはすべてイベントKeyPressにありasp.net、イベントだけがありますTextChange。また、何かを見つけましたHegexが、誰かがかつて私に言いましたその作業hegexは良い習慣ではありません... 私は初心者なので、皆さんに尋ねるのが好きです.

4

3 に答える 3

4

サーバー側とクライアント側のイベントを混同しています。.aspx で宣言する TextBox はデフォルトで としてレンダリングされるinput[type=text]ため、すべてのクライアント側イベント (onkeypress、onkeyup、onkeydown など) を処理できることに注意してください。しかし、やりたいことは CSS だけで実現できます。次のプロパティをテキスト ボックスに入力します。

<asp:TextBox ID="txtTest" runat="server" Style="text-transform: lowercase;"></asp:TextBox>

この方法では、入力したテキストは小文字で表示されますが、テキストを実際に小文字に変換したい場合は、Javascript を使用する必要があります。

 <asp:TextBox ID="txtTest" runat="server" onkeyup="this.value = this.value.toLowerCase();"
    Style="text-transform: lowercase;"></asp:TextBox>

ところで、正規表現を使用することは悪い習慣ではありません。この場合は必要ありません。正規表現は、テキストの検索、検証、および解析に非常に便利で、作業がずっと簡単になります。唯一のトレードオフは、一部の正規表現パターンが非常に不明瞭で理解しにくいことです。

于 2013-03-04T15:06:41.803 に答える
2

ユーザーがテキストを入力するとすぐに、クライアント側でテキストを小文字にしたいと思います。onkeypressEventでそれを処理できます:

<asp:TextBox Id="TextBox1" onkeypress="this.value = this.value.toLowerCase();" runat="server" />

キーを押すたびにトリガーされるのではなく、ページを送信するときにトリガーされるサーバー側では、String.ToLower. たとえば、イベントを処理するTextBox TextChanged場合:

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
   TextBox1.Text = TextBox1.Text.ToLower();
}

.aspx マークアップにイベント ハンドラーを追加することを忘れないでください。

<asp:TextBox OnTextChanged="TextBox1_TextChanged" AutoPostBack="true" runat="server" Id="TextBox1" />
于 2013-03-04T15:11:31.757 に答える