0

コーディング スタイルについてのアイデアを提案してください。

Web フォームにはオプションが 1 つありますが、選択する必要はありません。その値は、1、2、および「すべて」です。値「すべて」は、フォームがロードされたときのデフォルト値です。「すべて」は、1 と 2 の両方を意味します。選択した値に応じて、処理のために要求がサーバーに送信されます。サーバーはこの値を解析し、結果の応答を返します。ユーザーが「すべて」の値を選択する場合、2 つの方法があります。

  1. リクエストにオプション値を含めないでください。私の例の URL は"../Process.aspx"になります。サーバーは、ユーザーが「すべて」の値を選択したことを検出して認識します。
  2. 特定の値 (例: -1) でリクエストにオプション値を含めます。私の例の URL は"../Process.aspx?option=-1"になります。サーバーは、値が -1 であるかどうかを検出して認識します。これは、ユーザーが「すべて」の値を選択したことを意味します。

これに対する最善の解決策を教えてください。ありがとう。

4

4 に答える 4

2

オプション1のバリエーションを使用します。

オプションの値が不明または指定されていない場合は、デフォルトを使用します。オプション値が -1 (またはデフォルトの選択に関連付けられている値) の場合、これを同じ方法で処理するようにしてください。不明な値の場合は、値も記録します。つまり、ロガーを使用している場合は、これをデバッグ情報としてログに記録します。これは、新しい値を追加し、システムがこれらを無視しているように見える方法を理解できない場合に、非常に便利です。

不明な値をデフォルト値として処理することで、非推奨のオプションを含むブックマーク/リンクがある程度機能し、エラー メッセージよりも優れたユーザー エクスペリエンスを提供できるようになります。

于 2013-02-07T09:12:15.867 に答える
2

バリエーション 1 の方が自然に思えます。フィルターを指定していないため、当然、すべての要素が返されます。

また、RESTful API の動作方法とも一致しており、http://server/api/filesすべてのファイルが返されます。http://server/api/files/test.txt特定のファイルを返します。

于 2013-02-07T08:36:25.770 に答える
1

私はアプローチ1を取ります。

まず、オプション パラメータが設定されているかどうかを確認します。そうでない場合は、コードでデフォルト値を割り当てます。割り当てられている場合は、入力を確認して処理を行います。このように、コードを 1 か所で管理する必要もあります。(デフォルト値の場合)

于 2013-02-07T08:55:14.240 に答える
0

「すべて」には数値を指定する必要があります (3 など)。要素のマークアップは、おそらく次のようになります。

<select name="fieldname">
    <option value="1">Value1</option>
    <option value="2">Value2</option>
    <option value="3">All</option>
</select>

サーバーは POST 応答を読み取り、switch 制御ステートメントを使用して値の処理方法を決定する必要があります。

switch(postvar):

case 1: // processing for 1 value goes here

case 2: // processing for 2 value goes here

case 3: // processing for "All" value goes here

endswitch;
于 2013-02-07T08:36:35.317 に答える