0

ユーザーがテキストボックスに0または1のみを入力できるようにする方法。C#.netを使用しています。テキストボックスの最大長は1です。正規表現に検証式を追加したいのですが、JavaScriptを使用したくありません。

4

3 に答える 3

2

JavaScriptを使用せずにテキストボックスでこれを実現することはできません。ASP.NETはサーバー側の言語です。つまり、クライアントとサーバーの関係のサーバー側でのみ機能します。JavaScriptはクライアント側の言語です。つまり、JavaScriptはユーザーのブラウザーで直接実行され、ユーザーが表示している実際のページで機能します。

JSを記述して、ユーザーが「0」または「1」以外のものをボックスに入力できないようにすることもできますが、これはユーザーを怒らせます。入力を検証してエラーをスローするクライアント側とサーバー側のコードを作成することもできます。

あなたのニーズを満たすJSを使用しないより良い方法がまだあります:チェックボックスを使用してください。

于 2012-12-17T08:05:56.660 に答える
0

この場合、チェックボックスが仕事に最も適していることに同意します。テキストボックスを使用する場合は、将来の拡張性のために、javascriptを使用するのが最適です。どうしてもC#で実行する必要がある場合は、次を使用できますが、これにはjavascriptを使用することを検討してください。これは、はるかに高速です。

int value;
bool isValidNumber = (Int32.TryParse(myTextBox.Text, out value) && (value == 0 || value == 1));
于 2012-12-17T08:12:42.987 に答える
0

私は次のように質問を理解しています:

ユーザーが0または1以外のものを入力するのを防ぐためだけにjavascriptを使用するのではなく、クライアント側とサーバー側で使用できる バリデーターを使用します。

RangeValidator代わりに、 withとType="Integer"適切なを使用し ます。MinimumValueMaximumValue

<asp:RangeValidator id="Range1"
           ControlToValidate="TextBox1"
           MinimumValue="0"
           MaximumValue="1"
           Type="Integer"
           EnableClientScript="false"
           Text="The value must be from 0 to 1!"
           runat="server"/>

:入力コントロールが空の場合、検証関数は呼び出されず、検証は成功します。コントロールを使用しRequiredFieldValidatorて、ユーザーが入力コントロールをスキップできないようにします。

他の人が述べたように、CheckBoxこのタスクにはaがより適切かもしれません。

于 2012-12-17T08:36:24.013 に答える